chrome页面超时后,webdriver冻结

时间:2018-09-23 01:23:51

标签: selenium webdriver selenium-chromedriver

我有一个页面需要花费一些时间(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")

0 个答案:

没有答案