Python & Selenium -- 页面加载时间过长&启动指定FF
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python & Selenium -- 页面加载时间过长&启动指定FF相关的知识,希望对你有一定的参考价值。
原文链接:https://my.oschina.net/u/2344787/blog/400507?p={{page}}
1. selenium webdriver在get方法会一直等待页面加载完毕才会执行后面的,可如果加载时间太长会导致后续操作无法进行。
例如:get 汽车之家页面时会等待很长时间,其实页面基本元素都已加载,可进行后续操作
可以通过set_page_load_time()方法来设定时间,
然后捕获timeout异常 并 通过执行Javascript来停止页面加载 window.stop()
1 from selenium.common.exceptions import TimeoutException 2 3 startTime = time.time() 4 print "start time is: %0.3f"%startTime 5 driver = webdriver.Firefox() 6 # 设定页面加载限制时间 7 driver.set_page_load_timeout(30) 8 driver.maximize_window() 9 10 try: 11 driver.get(‘http://www.autohome.com.cn/‘) 12 except TimeoutException: 13 print ‘time out after 30 seconds when loading page‘ 14 driver.execute_script(‘window.stop()‘) #当页面加载时间超过设定时间,通过执行Javascript来stop加载,即可执行后续动作
2. 使用指定的FF来创建driver
1 from selenium.webdriver.firefox.firefox_binary import FirefoxBinary 2 myFF = FirefoxBinary(‘/root/bobo/firefox/firefox-bin‘) 3 driver = webdriver.Firefox(firefox_binary=myFF)
以上是关于Python & Selenium -- 页面加载时间过长&启动指定FF的主要内容,如果未能解决你的问题,请参考以下文章
Python+Selenium学习笔记8 - 多表单&多窗口切换
Python爬虫之Web自动化测试工具Selenium&&Chrome handless
Python & BeautifulSoup 4/Selenium - 无法从 kicksusa.com 获取数据?
selenium3 + python - js&jquery操作处理