给selenium 设置 webdriver 加载超时时间

发布于 2020-01-09 11:03:10

selenium是一款优秀的测试工具,同时也是爬虫采集利器,特别是作为中间件配合scrpay的时候。

selenium默认是没有超时时间,我们在爬虫采集过程中,常常会遇到打开某个页面超时的情况,甚至直接报错。如果不设置超时时间,会浪费系统资源。

可以使用webdriver 的 set_page_load_time()设置超时时间,并加上try except 进行异常处理:

from selenium.common.exceptions import TimeoutException

startTime = time.time()
print "start time is: %0.3f"%startTime
driver = webdriver.Chrome()
# 设定页面加载限制时间
driver.set_page_load_timeout(30)
driver.maximize_window()

try:
    driver.get('http://www.autohome.com.cn/')
except TimeoutException:  
    print('time out after 30 seconds when loading page')
    driver.execute_script('window.stop()') 
0 条评论

发布
问题