Python Selenium Chrome。如果第一次加载页面花费的时间太长,如何刷新页面

时间:2018-06-27 10:16:24

标签: python selenium selenium-chromedriver

如果加载时间超出我的预期,我想刷新页面。因此,我计划使用现有功能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"


环境信息:
chrome = 67.0.3396.99

chromedriver = 2.40.565386(45a059dc425e08165f9a10324bd1380cc13ca363),platform = Mac OS X 10.13.4 x86_64

硒版本:3.12.0

或参见: environment

1 个答案:

答案 0 :(得分:0)

get / navigation超时,连接不稳定,因此您无法在浏览器上再次正常运行时,您会看到不幸的情况。

目前唯一的解决方法是禁用pageLoadStrategy,但是随后您失去了很多好处,它们会自动等待getclick操作上的pageLoad

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)