2017-08-09 48 views
1

我已經嘗試了很多,但我沒有得到任何解決方案,我怎麼能處理page.onError,代碼如下 -如何處理Java中phantomjs硒的JavaScript錯誤?

DesiredCapabilities desiredCapabilities = new DesiredCapabilities(); 
desiredCapabilities.setJavascriptEnabled(true); 
desiredCapabilities.setCapability("takesScreenshot", false); 
WebDriver driver = new PhantomJSDriver(desiredCapabilities); 

我收到以下錯誤 -

[ERROR - 2017-08-09T06:00:16.732Z] Session [db2e4bf0-7cc7-11e7-a9b1-81e10abf02db] - page.onError - msg: TypeError: null is not an object (evaluating 'document.getElementById("img").src=images[x]')

phantomjs://platform/console++.js:263 in error [ERROR - 2017-08-09T06:00:16.733Z] Session [db2e4bf0-7cc7-11e7-a9b1-81e10abf02db] - page.onError - stack:

+0

錯誤'Session [db2e4bf0-7cc7-11e7-a9b1-81e10abf02db] - page.onError - msg:TypeError:null不是一個對象(評估'document.getElementById(「img」)。src = images [ x]')'說這一切PhantomJS似乎無法啓動會話。 – DebanjanB

+0

什麼時候錯誤發生,你想要什麼?你的代碼似乎不同於什麼是引發異常 –

+0

@TarunLalwani我爬行一些網站,但過了一段時間後,我得到這個錯誤 – umesh

回答

0

要使用Selenium 3.4.0工作與PhantomJS 2.1.1你需要通過System.setProperty命令如下提供的PhantomJS binary絕對路徑

File src = new File("C:\\Utility\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe"); 
System.setProperty("phantomjs.binary.path", src.getAbsolutePath()); 
DesiredCapabilities desiredCapabilities = new DesiredCapabilities(); 
desiredCapabilities.setJavascriptEnabled(true); 
desiredCapabilities.setCapability("takesScreenshot", false); 
WebDriver driver = new PhantomJSDriver(); 
driver.get("https://www.facebook.com/"); 
System.out.println("Facebook Page Loaded"); 
+0

讓我試一試。 – umesh