Python & Selenium -- 頁面加載時間過長&啓動指定FF

1. selenium webdriver在get方法會一直等待頁面加載完畢纔會執行後面的,可若是加載時間太長會致使後續操做沒法進行。

例如:get 汽車之家頁面時會等待很長時間,其實頁面基本元素都已加載,可進行後續操做
python

能夠經過set_page_load_time()方法來設定時間,web

而後捕獲timeout異常 並 經過執行Javascript來中止頁面加載 window.stop()
spa

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加載,便可執行後續動做

該代碼在firefox


2. 使用指定的FF來建立driver

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
myFF = FirefoxBinary('/root/bobo/firefox/firefox-bin')
driver = webdriver.Firefox(firefox_binary=myFF)
相關文章
相關標籤/搜索