【问题标题】:Selenium webdriver with python- how to reload page if loading takes too long?Selenium webdriver with python-如果加载时间过长如何重新加载页面?
【发布时间】:2014-09-30 03:30:15
【问题描述】:
driver = webdriver.Firefox()               #opens firefox
driver.get("https://www.google.com/")      #loads google

如果google加载时间过长,如何让它关闭浏览器,重新开始代码?

【问题讨论】:

    标签: python firefox selenium timeout webdriver


    【解决方案1】:

    通过set_page_load_timeout()设置页面加载超时并捕获TimeoutException

    from selenium import webdriver
    from selenium.common.exceptions import TimeoutException
    
    driver = webdriver.Firefox()
    driver.set_page_load_timeout(10)
    while True:
        try:
            driver.get("https://www.google.com/")
        except TimeoutException:
            print "Timeout, retrying..."
            continue
        else:
            break
    

    另见:How to set Selenium Python WebDriver default timeout?

    【讨论】:

    • chrome 不显示重新加载 :( ,它确实在后台重新加载
    • 我无法让它与 geckodriver 0.22 和 Firefox 62 一起使用。我收到错误“selenium.common.exceptions.InvalidArgumentException:消息:未知字段 sessionId,预期为 implicit 之一,@ 987654328@, script 在第 1 行第 1 列 31'
    • @skunkwerk,你有没有发现那条消息是关于什么的,或者如何让 gecko 和 ff 工作?
    • @chris,不——我最终使用 puppeteer 而不是 selenium/webdriver。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-13
    • 2020-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多