如果加载时间超出我的预期,我想刷新页面。所以我计划使用现有的函数 set_page_load_timeout(time_to_wait(,但事实证明调用 driver.get(( 似乎不再有效。
我在下面写了一个简单的程序并遇到了问题。
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
import time
driver = webdriver.Chrome()
time.sleep(5)
driver.set_page_load_timeout(2)
try:
driver.get("https://aws.amazon.com/")
except TimeoutException as e:
print str(e)
driver.set_page_load_timeout(86400)
time.sleep(5)
print "open page"
driver.get("https://aws.amazon.com/")
print "page loaded"
环境信息:
铬=67.0.3396.99
chromedriver=2.40.565386 (45a059dc425e08165f9a10324bd1380cc13ca363(,platform=Mac OS X 10.13.4 x86_64
硒版本:3.12.0
或查看: 环境
您所看到的是get
/navigation
超时连接不稳定的不幸情况,因此您无法再次在浏览器上运行良好。
目前存在的唯一解决方法是禁用pageLoadStrategy
,但随后您失去了许多自动等待 pageLoad 的良好福利get
和click
操作
from selenium import webdriver
from selenium.common.exceptions import TimeoutException
import time
from selenium.webdriver import DesiredCapabilities
cap = DesiredCapabilities.CHROME
cap["pageLoadStrategy"] = "none"
driver = webdriver.Chrome(desired_capabilities=cap)