【问题标题】:Python Selenium Chrome - How to refresh a page if it takes too long to load the page for the first timePython Selenium Chrome - 如果第一次加载页面时间过长,如何刷新页面
【发布时间】:2018-06-27 10:16:23
【问题描述】:

如果加载时间超出我的预期,我想刷新页面。所以我打算使用现有的函数 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

或见: environment

【问题讨论】:

  • 这听起来像X-Y problem。与其寻求解决问题的帮助,不如编辑您的问题并询问实际问题。你想做什么?

标签: python selenium selenium-chromedriver


【解决方案1】:

你看到的是一个不幸的情况,当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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-30
    • 2011-10-22
    • 1970-01-01
    • 2020-04-13
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    相关资源
    最近更新 更多