我有一个页面需要花费一些时间(30-60秒)来加载,因此我设置了一个隐式等待,并且希望能够刷新页面,如果页面第一次没有完成加载。 / p>
我的代码最终不会在Chrome中刷新页面(加载微调器不会启动,页面也不会更改),也不会打印出Javascript调用的状态-我不知道为什么。我正在运行Chrome 68,以及chromedriver 2.42和Python 3.6。
我已使用以下示例值替换了实际的URL和超时,以使其具有可再现性:
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
import os
mypath = os.path.dirname(os.path.abspath(__file__))
chrome_path = mypath+"/chromedriver"
driver = webdriver.Chrome(executable_path=chrome_path)
driver.set_page_load_timeout(2)
try:
driver.get("https://www.bbcnews.com")
except TimeoutException:
print("Timeout, retrying...")
state = driver.execute_script("var state = document.readyState; return state;")
print(state)
driver.refresh("https://www.bbcnews.com")