码迷,mamicode.com
首页 > 编程语言 > 详细

webdriver定位页面元素时使用set_page_load_time()和JavaScript停止页面加载

时间:2017-07-08 00:23:21      阅读:1902      评论:0      收藏:0      [点我收藏+]

标签:when   停止   int   selenium   pre   http   exec   import   ons   

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停止页面加载

标签:when   停止   int   selenium   pre   http   exec   import   ons   

原文地址:http://www.cnblogs.com/zanjiahaoge666/p/7134526.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!