繁体   English   中英

Python Selenium Chrome-如果第一次加载页面的时间过长,如何刷新页面

[英]Python Selenium Chrome - How to refresh a page if it takes too long to load the page for the first time

如果加载时间超出我的预期,我想刷新页面。 因此,我计划使用现有功能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),平台= Mac OS X 10.13.4 x86_64

硒版本:3.12.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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM