赞
踩
现在网络越来越普及,带宽速度普遍也有较大提升。伴随网络的普及,同时快速增长的还有网民的数量和网络流量。网站超时响应的“通病”,仍然是无法完全避免的。尤其是在网络流量高峰期访问HTTPS网站,使用类似Selenium的浏览器内核驱动driver方案过程中,这类问题的处理是关键。下面以Selenium WebDriver和Firefox为例子,介绍如何多层次应对网站超时响应的问题。
初始化全局超时配置参数,设置WebDriver的页面加载和脚本执行超时限制。
- from selenium import webdriver
- from selenium.webdriver.common.by import By
- from selenium.common.exceptions import TimeoutException
- from selenium.webdriver.support import expected_conditions as ECS
- from selenium.webdriver.support.wait import WebDriverWait
- import traceback
- import time
-
- class WebEngine:
- #...
-
- def config(self):
- self.engine=webdriver.Firefox()
- #设置页面加载最大时限
- self.engine.set_page_load_timeout(10)
- #脚本执行最大时限
- self.engine.set_script_timeout(10)
使用while循环有限次数尝试首次超时意外的重置连接。
- def run(self):
- retry=0
- # 手动控制是否关闭
- flag=True
- pageend=
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。