2016-08-02 147 views
0

我正在嘗試在Maven & Java Project中使用Selenium和PhantomJS。爲什麼在設置PhantomJS驅動程序時出現錯誤?

下面是我在pom.xml文件中使用的依賴關係:

<dependencies> 
    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-java</artifactId> 
     <version>2.53.0</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>org.seleniumhq.selenium</groupId> 
     <artifactId>selenium-server-standalone</artifactId> 
     <version>2.53.0</version> 
     <scope>test</scope> 
    </dependency> 

    <dependency> 
     <groupId>io.github.bonigarcia</groupId> 
     <artifactId>webdrivermanager</artifactId> 
     <version>1.4.5</version> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

<repositories> 
     <repository> 
     <id>jenkins-releases</id> 
     <url>http://repo.jenkins-ci.org/releases/</url> 
     </repository> 
</repositories>` 

在我的Java文件,我試圖建立PhantomJS驅動程序,而不必在我的電腦上的JAR文件,使用這種方法:

public void set_up(){ 
    PhantomJsDriverManager.getInstance().setup(); 

    // Configuration du driver 
    DesiredCapabilities capabilities = new DesiredCapabilities(); 
    capabilities.setJavascriptEnabled(true); 
    driver = new PhantomJSDriver(capabilities); 
} 

當我第一次嘗試這樣做,它的工作很好,但因爲一兩個星期,我收到此錯誤:

java.lang.RuntimeException: org.openqa.selenium.NoSuchElementException: Unable to locate element with ID: available-downloads 
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html 
Driver info: driver.version: HtmlUnitDriver 
at io.github.bonigarcia.wdm.BrowserManager.manage(BrowserManager.java:272) 
at io.github.bonigarcia.wdm.BrowserManager.setup(BrowserManager.java:103) 
at io.github.bonigarcia.wdm.BrowserManager.setup(BrowserManager.java:82) 

有人想知道要修改什麼嗎? 我迷路了,不知道該怎麼辦...

回答

4

剛發現webdrivermanager已經做了改變。

對於有同樣問題的人,只需將webdrivermanager groupId的版本更新到1.4.7版本即可。

關於https://github.com/bonigarcia/webdrivermanager的更多信息

+0

那解決了嗎?我很驚訝,錯誤似乎沒有連接到設置。 –

+0

是的,它是:)「無法找到具有ID:available-downloads的元素」對應於執行「PhantomJsDriverManager.getInstance()。setup();」時完成的setup –

相關問題