python - X秒后关闭Selenium webdriver

标签 python selenium webdriver

我在 Ubuntu + Python 上使用 selenium webdriver (firefox),遇到一个问题,有时页面无法加载,整个脚本只是挂起。
有没有办法在 X 秒后强制退出 webdriver 窗口? 寻找像下面这样的代码,它确实有效。看起来如果网络驱动程序正在等待响应,它将(几乎)无限期地等待。

driver.get(record)
sleep(5)
my_html = driver.page_source #get whatever we have after 5 sec
driver.close() #close driver

注意!:接受的答案是正确的。该问题是由于我的 geckodriver 已过时(v 0.11 与 v.019)引起的。
在 ubuntu 上检查你的版本:

geckodriver --version   #command in terminal

更新驱动程序(如果需要),use these steps. Note - Sandeep's answer worked best for me.

最佳答案

from selenium import webdriver
from time import sleep

record = "https://www.google.com"
driver = webdriver.Firefox()
driver.set_page_load_timeout(30)
try:
    driver.get(record)
    my_html = driver.page_source #get whatever we have after 5 sec
finally:
    driver.close()

设置页面加载超时,如所述here ,将实现你所追求的。如果页面没有在给定的时间内加载,它将引发 TimeoutException,关闭程序。

关于python - X秒后关闭Selenium webdriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48394526/

相关文章:

python - 为什么整数列表的深拷贝在内存中返回相同的整数?

python - 如何用唯一编号的标记范围替换分隔范围?

python - 使用复杂的列表数据编写 CSV 文件

java - Selenium Webdriver submit() 与 click()

python - Stash 标签上的 DELETE 请求

python - 告诉我为什么这不会以超时错误结束(selenium 2 webdriver)?

java - 在 selenium Webdriver 中从父窗口切换到子窗口时出错,反之亦然

java - 无法使用selenium webdriver从弹出框架切换回父窗口

javascript - 计算在java webdriver中加载的图像的md5

python - 如果元素不存在,如何使用 Selenium find_element_by 某些函数而无需等待时间?