2017-02-16 67 views
-1

我正在使用硒3.0.2和PhantomJS從一個特定網站上刮掉一些AJAX值。我在Python 2.7,OS X 10.8上。PhantomJS和Selenium:有時它有效,有時它不會

我已經有句點了,PhantomJS工作正常,突然間它找不到我正在尋找的html,雖然它存在,我沒有更改代碼。 PhantomJS是否容易出現不正常的行爲,並且是否有另一種更穩定的無頭替代方案可以與我的設置配合使用?我無法讓鍍鉻汽車工作。

編輯:我使用

driver.get()  
time.sleep(5) #I have played with this value 
wait = WebDriverWait(driver, 10) #also played with this value up to 60... 
try: 
    table = wait.until(EC.visibility_of_element_located((By.CLASS_NAME, "bla bla"))) 

謝謝你們!

回答

1

你沒有提供任何細節,但我想這是由於加載時間的頁面,嘗試使用顯式等待Explicit Waits,它會等到你的div完全加載,然後你可以在頁面上執行其他操作。

+0

我實際上使用了顯式等待,並且不管超時值如何設置都會超時。同樣的網站在Firefox上運行良好,我甚至在'driver.get()'之後有'time.sleep()'。我一直在爲這個問題苦苦掙扎幾周,因爲我是一個noob,在研究可能出現的問題時,我在理解所有的技術術語方面受到的限制。謝謝,壽! – user2822564

+0

這裏有幾件事你可以調試,如果相同的網站/代碼與Firefox一起工作.. #嘗試使用最新版本的phantomJs #當發生異常時通過使用driver.save_screenshoot進行屏幕拍攝並檢查該佈局區域的屏幕截圖。 –

+0

有一個新的內置的,沒有工作,現在我下載了現成的,設置驅動程序到'driver = webdriver.PhantomJS(executable_path ='/ usr/local/lib/node_modules/phantomjs/bin/phantomjs',service_args = [' --ignore-ssl-errors = true','--ssl-protocol = TLSv1'],service_log_path ='/ tmp/ghostdriver.log')',但沒有任何反應。沒有錯誤,沒有輸出,但設置'driver'後的'print'參數沒有被調用。 – user2822564

相關問題