2016-10-11 39 views
6

我試圖幫助我的硒(Python綁定版本2)測試運行在別人設置上。Selenium Phantomjs瀏覽器在啓動時掛起。我如何調試它?

它可以與Firefox esr(在兩臺機器上)配合使用,它可以在我的機器上使用最新的phantomjs。它掛在他的機器上。

只有他在Windows 10上和我在Windows 7上有明顯區別。我不認爲它是防火牆或代理服務器的原因,我照顧它(啓用防火牆的所有內容並使用--proxy-type=none運行它)。

如何調試?

+8

此問題應提供重現問題的步驟,包括代碼。爲什麼?因爲用於調試的策略取決於您嘗試執行的具體操作。而「掛在啓動」是一個非常模糊的描述。 – Louis

+1

我對windows不太瞭解,但是在Unix系統上,selenium和phantomjs對stderr和stdout IO模式做了一些更改,所以它可能會以某種方式使IO流死鎖。我遇到的這個問題可能與相關閱讀:http://stackoverflow.com/questions/22669734/ioerror-errno-35-resource-temporarily-unavailable-with-phantomjs-python-s – RecursivelyIronic

回答

0

更多細節可以幫助。你有錯誤信息嗎?你的代碼如何?

在任何情況下,一些想法,可能有助於弄清楚發生了什麼事是:

設置窗口的大小,以適合你的測試的東西。

driver.set_window_size(900, 800) 

保存屏幕截圖。

driver.save_screenshot('screen.png') 

檢查頁面源是否符合您的期望。

with open('temp.html', 'w') as f: 
    f.write(driver.page_source) 

您可能會嘗試查看升級Selenium是否有幫助。

pip install selenium --upgrade 

您可以通過下載並指定路徑來測試other versions of PhantomJS。 1.9.8版幫助我繞過了過去的一些安全限制。

driver = webdriver.PhantomJS(
    executable_path='/path/to/the/downloaded/phantomjs19', 
    # you can specify args, such as: 
    service_args=[ 
     '--ignore-ssl-errors=true', 
     '--ssl-protocol=any', 
     '--web-security=false', 
    ], 
    # and also other capabilities: 
    desired_capabilities={ 
     'phantomjs.page.settings.resourceTimeout': '5000', 
     'phantomjs.page.settings.userAgent': (
      "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/53 " 
      "(KHTML, like Gecko) Chrome/15.0.87" 
     ), 
    }, 
) 

請讓我知道這是否有幫助!

相關問題