利用selenium请求网页的时候,有时因为某种原因使得页面一直处于加载状态,使得源代码一直不能返回。这种情况可以全局设置driver的加载时间,超时后停止加载然后强制返回源代码。
driver = webdriver.Chrome()
初始化driver对象后,设置一下两个超时时间
driver.set_page_load_timeout(10) #页面加载超时时间
driver.set_script_timeout(10) #页面js加载超时时间
由于超时后selenium会报错,所以要添加异常处理
try:
browser.get('http://www.amazon.com/dp/B001UPMC1Y')
except TimeoutException: # 报错后就强制停止加载 # 这里是js控制
browser.execute_script('window.stop()')
print(browser.page_source)