如何刷新已经打开的网页

Posted

技术标签:

【中文标题】如何刷新已经打开的网页【英文标题】:How to refresh an already opened web page 【发布时间】:2015-04-12 00:15:34 【问题描述】:

我只想用Selenium 刷新一个已经打开的网页。

它总是打开一个新的浏览器窗口。

我做错了什么?

from selenium import webdriver
import urllib
import urllib2

driver = webdriver.Firefox()
driver.refresh()

【问题讨论】:

你试过使用driver.navigate().refresh()吗? 您显示的代码不会重现您报告的问题。 webdriver.Frirefox() 行将启动一个新的浏览器。但是driver.refresh() 对您显示的代码没有任何作用。如果您添加一个 driver.get() 调用来加载一个好的 URL,那么页面会按应有的方式刷新。 【参考方案1】:

对我有帮助

from selenium import webdriver
import time


driver = webdriver.Firefox()
driver.get("URL")

time.sleep(5)
driver.refresh()

【讨论】:

【参考方案2】:

我通过在 for 循环或 while 循环中添加“browser.refresh()”来修复我的问题。

【讨论】:

【参考方案3】:

您正在尝试在页面加载之前刷新页面,以便您可以使用睡眠功能

from time import sleep
sleep(1)

或者您可以等待 XPath 加载

WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.XPATH, xpath goes here)))

【讨论】:

【参考方案4】:

以下代码对我有用

driver.get(driver.current_url)
sleep(2)
driver.refresh()

我使用 python 3.7.6,硒 3.141.0

【讨论】:

【参考方案5】:

问题是您正在打开 webdriver,然后在未指定 URL 时尝试刷新。

您需要做的就是在刷新之前获取所需的 URL:

from selenium import webdriver
import urllib
import urllib2
driver = webdriver.Firefox()
driver.get("Your desired URL goes here...")
#now you can refresh the page!
driver.refresh()

【讨论】:

【参考方案6】:

我建议将驱动元素搜索绑定到标签正文,并使用浏览器的刷新命令。

以 OSX 为例

driver.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 'r')

此处的密钥文档:http://selenium-python.readthedocs.org/en/latest/api.html

更新: 以下代码与您的代码非常相似,对我来说很好。

    driver = webdriver.Firefox()
    driver.get(response.url) #tested in combination with scrapy   
    time.sleep(3)   
    driver.refresh()

您确定在刷新之前使用驱动程序正确加载了网页吗?

【讨论】:

即使在 OSX 中,driver.refresh() 也能正常工作。第一个 CMD + r 没有。【参考方案7】:

您可以尝试以下任何一种方法。

方法一:

driver.findElement(By.name("s")).sendKeys(Keys.F5);

方法二:

driver.get(driver.getCurrentUrl());

方法3:

driver.navigate().to(driver.getCurrentUrl());

方法四:

driver.findElement(By.name("s")).sendKeys("\uE035");

【讨论】:

这与python无关,它是被标记的语言 那不是python

以上是关于如何刷新已经打开的网页的主要内容,如果未能解决你的问题,请参考以下文章

谷歌浏览器chrome怎样实现间隔自动刷新网页

如何设置selenium打开网页超过30秒就重新刷新下?

如何设置selenium打开网页超过30秒就重新刷新下?

在手机打开网站, 怎么快速刷新网页

怎样局部刷新网页?

如何自动刷新指定的网页