如何刷新已打开的网页

时间:2015-02-11 15:01:55

标签: python selenium-webdriver refresh

我只想使用Selenium刷新已打开的网页。

它始终会打开一个新的浏览器窗口。

我做错了什么?

from selenium import webdriver
import urllib
import urllib2

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

7 个答案:

答案 0 :(得分:10)

我建议将驱动程序元素搜索绑定到标记正文并使用浏览器的refresh命令。

在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()

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

答案 1 :(得分:1)

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

方法1:

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

方法2:

driver.get(driver.getCurrentUrl());

方法3:

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

方法4:

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

答案 2 :(得分:1)

以下代码对我有用

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

我使用python 3.7.6,硒3.141.0

答案 3 :(得分:1)

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

from time import sleep
sleep(1)

或者您可以等待XPath加载

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

答案 4 :(得分:0)

问题是您正在打开Web驱动程序,然后在未指定URL时尝试刷新。

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

Show[p1, vert1, vert2]

答案 5 :(得分:0)

我通过添加for循环或while循环“ browser.refresh()”来解决我的问题。

答案 6 :(得分:0)

对我有帮助

from selenium import webdriver
import time


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

time.sleep(5)
driver.refresh()