我只想使用Selenium
刷新已打开的网页。
它始终会打开一个新的浏览器窗口。
我做错了什么?
from selenium import webdriver
import urllib
import urllib2
driver = webdriver.Firefox()
driver.refresh()
答案 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()