2016-09-30 31 views
0

我試圖用一個簡單的Python /硒腳本硒與Python會加載一個頁面

# encoding=utf8 
from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
import datetime as dt 
import codecs 
import os 

myDriver=webdriver.Chrome() 
myDriver.get("http://spb.beeline.ru/customers/products/mobile/tariffs/") 
print "Test" 
myDriver.quit() 

現在閱讀頁面,如果我使用谷歌瀏覽器,頁面加載打開該網址,就是這樣。 通過此腳本執行此操作時,頁面將保持加載狀態,並且腳本無法繼續。

我在Windows 7中,使用Python 2.7.12,硒2.53.6和chromedriver 2.24.41.74.31

+0

我查過了,它工作完美 – Piyush

回答

0

我不知道那是什麼頁面是幹什麼的,但肯定是非典型的。我的建議是最好設置頁面加載超時,然後辦理相關TimeoutException異常:

# encoding=utf8 
from __future__ import print_function 

from selenium import webdriver 
from selenium.common.exceptions import TimeoutException 

myDriver=webdriver.Chrome() 

try: 
    # Set the page load timeout 
    myDriver.set_page_load_timeout(10) 
    try: 
     myDriver.get("http://spb.beeline.ru/customers/products/mobile/tariffs/") 
    except TimeoutException: 
     print("Page expired") 

    # Do stuff here 

finally: 
    myDriver.quit() 

的缺點是,(我認爲)這將殺死無論是在防止driver.get電話回訪回地面發生,所以一些頁面功能可能會從根本上打破。

+0

那麼你有同樣的問題..很少看! 我無法理解的一點是,爲什麼在一個普通的chrome實例中它正確加載,並且在chromedriver中,這不會發生。 – user3385666

+0

是的,該頁面特定的內容始終處於永久加載狀態。 –

+0

@ user3385666嘗試使用其他瀏覽器/其他URl並查看問題是否存在。當我試用它時,你的代碼就像一個魅力。我用過Firefox瀏覽器。 webdriver.Firefox()和我的上網速度也非常好。 –