Selenium Phantomjs驱动程序-java.lang.NoSuchMethodError:org.openqa.Selenium.os.CommandLine.find(Ljava/lang/String;)Ljava/lang/String;

Selenium Phantomjs驱动程序-java.lang.NoSuchMethodError:org.openqa.Selenium.os.CommandLine.find(Ljava/lang/String;)Ljava/lang/String;,java,selenium,phantomjs,Java,Selenium,Phantomjs,我很想在Selenium测试中实现Phantomjs驱动程序,但它给我带来了这个错误java.lang.NoSuchMethodError:org.openqa.selenium.os.CommandLine.find(Ljava/lang/String;)Ljava/lang/String 幻影库的版本为1.2.1.1,Java版本为1.8 实现如下所示: if( driver == null ) { if( which == CHROME )

我很想在Selenium测试中实现Phantomjs驱动程序,但它给我带来了这个错误java.lang.NoSuchMethodError:org.openqa.selenium.os.CommandLine.find(Ljava/lang/String;)Ljava/lang/String 幻影库的版本为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();
        }
    }

我该怎么做才能强迫它工作?是幻影图书馆吗?谢谢。

这种方法对我很有效:

  • 下载驱动程序:

  • 添加此依赖项:

    <dependency>
        <groupId>com.codeborne</groupId>
        <artifactId>phantomjsdriver</artifactId>
        <version>1.4.4</version>
        <scope>compile</scope>
    </dependency>
    
  • 注: 我使用的是Selenium版本3.8.1

        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.8.1</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-remote-driver</artifactId>
            <version>3.8.1</version>
        </dependency>
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-api</artifactId>
            <version>3.8.1</version>
        </dependency>
    
    
    org.seleniumhq.selenium
    硒爪哇
    3.8.1
    org.seleniumhq.selenium
    selenium远程驱动程序
    3.8.1
    org.seleniumhq.selenium
    硒原料药
    3.8.1
    
    对于PhantomJSDriver(GhostDriver),您需要添加以下Maven依赖项:

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

    注意:您可以在IDE中清理项目并仅使用
    Selenium Java客户端
    依赖项。

    您是否添加了phantomjsdriver maven依赖项谢谢。这很有效。我不知道该安装哪个库。@chamo很高兴听到这个消息
    <dependency>
        <groupId>com.github.detro</groupId>
        <artifactId>phantomjsdriver</artifactId>
        <version>1.4.0</version>
    </dependency> 
    
    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/");