首页 > 代码库 > webdriver定位页面元素时使用set_page_load_time()和JavaScript停止页面加载
webdriver定位页面元素时使用set_page_load_time()和JavaScript停止页面加载
webdriver定位页面元素时使用set_page_load_time()和JavaScript停止页面加载
原文:https://my.oschina.net/u/2344787/blog/400507?p={{page}}
引言:
在使用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加载,即可执行后续动作 该代码在
webdriver定位页面元素时使用set_page_load_time()和JavaScript停止页面加载
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。