我在 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/