selenium webdriver在get方法会一直等待页面加载完毕才会执行后面的,可如果加载时间太长会导致后续操作无法进行。
例如:get 汽车之家页面时会等待很长时间,其实页面基本元素都已加载,可进行后续操作
可以通过set_page_load_time()方法来设定时间,
然后捕获timeout异常 并 通过执行Javascript来停止页面加载 window.stop()
from selenium.common.exceptions import TimeoutException startTime = time.time() print "start time is: %0.3f"%startTime driver = webdriver.Firefox() 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()‘) #当页面加载时间超过设定时间,通过执行Javascript来stop加载,即可执行后续动作
该代码在
Python & Selenium -- 处理页面加载时间过长的问题
时间: 2024-12-21 15:41:52