* 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)