我厌倦了将Phantomjs驱动程序实现到Selenium测试,但是它引发了这个错误。 java.lang.NoSuchMethodError:org.openqa.selenium.os.CommandLine.find(Ljava / lang / String;)Ljava / lang / String;
Phantom库为https://mvnrepository.com/artifact/org.jboss.arquillian.extension/arquillian-phantom-driver版本1.2.1.1,Java版本为1.8
实现看起来像:

    if( driver == null )
    {
        if( which == CHROME )
        {
            System.setProperty("webdriver.chrome.driver", which);
            driver = new ChromeDriver();
        }
        else if ( which == PHANTOM )
        {
            System.setProperty("webdriver.phantomjs.driver", which);
            driver = new PhantomJSDriver();
        }
    }


我应该怎么做才能使其起作用?幻影库对吗?谢谢。

最佳答案

对于PhantomJSDriver(GhostDriver),您需要添加以下Maven依赖项:

<dependency>
    <groupId>com.github.detro</groupId>
    <artifactId>phantomjsdriver</artifactId>
    <version>1.4.0</version>
</dependency>


此外,使用System.setProperty二进制文件的绝对路径更新行phantomjs,如下所示:

File path=new File("C:\\path\\\to\phantomjs-x.x.x-windows\\bin\\phantomjs.exe");
System.setProperty("phantomjs.binary.path",path.getAbsolutePath());
WebDriver driver= new PhantomJSDriver();
driver.navigate().to("https://www.google.co.in/");


注意:您可以在IDE中清理项目,并仅使用Selenium-Java Clients依赖项。

10-01 19:40
查看更多