zoukankan      html  css  js  c++  java
  • Selenium2+Python--页面加载时间过长&启动指定FF

    * selenium webdriver在get方法会一直等待页面加载完毕才会执行后面的,可如果加载时间太长会导致后续操作无法进行
    * 使用指定的FF来创建driver——FirefoxBinary

    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——FirefoxBinary

    from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
    myFF = FirefoxBinary('/root/bobo/firefox/firefox-bin')
    driver = webdriver.Firefox(firefox_binary=myFF)
  • 相关阅读:
    LeetCode 127. Word Ladder 单词接龙(C++/Java)
    LeetCode 681. Next Closest Time 最近时刻 / LintCode 862. 下一个最近的时间 (C++/Java)
    LeetCode 682. Baseball Game 棒球比赛(C++/Java)
    LeetCode 218. The Skyline Problem 天际线问题(C++/Java)
    小数据池,编码
    字典
    列表
    常见的数据类型
    while循环
    初始python
  • 原文地址:https://www.cnblogs.com/ysjt/p/6564910.html
Copyright © 2011-2022 走看看