如何通过Selenium Java初始化PhantomJS浏览器

时间:2018-04-25 15:03:26

标签: java selenium selenium-webdriver webdriver phantomjs

我正在尝试使用Java中的phantomjsdriver来构建Webspider。我使用Selenium版本3.11.0,PhantomJS 2.1.1和phantomjsdriver版本1.2.1。 当我执行我的代码时,我收到以下错误消息。

线程“main”中的异常java.lang.NoSuchMethodError:org.openqa.selenium.os.CommandLine.find(Ljava / lang / String;)Ljava / lang / String;

package Masterarbeit.Crawler;
import java.io.File;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.phantomjs.PhantomJSDriver;

public class Test {

    public String Test(){
        File path=new File("/usr/local/bin/phantomjs");
        System.setProperty("phantomjs.binary.path",path.getAbsolutePath());
        WebDriver driver = new PhantomJSDriver(); 
        return "successful";

    }
}

我的操作系统是Linux Mint 18 Sarah,有人知道这个的原因吗?

1 个答案:

答案 0 :(得分:1)

几天前, PhantomJSDriver selenium-server-standalone-vvvjar 捆绑在一起发布,因此我们能够解析方法 {{1来自 selenium-server-standalone-xyzjar 的<{1}}

但是现在, selenium-server-standalone-v.v.v.jar 不会将jar捆绑为 PhantomJSDriver 依赖项。因此,您必须从(PhantomJSDriver())获取 phantomjsdriver 的版本,该版本似乎与最新的selenium版本保持同步。

下载 phantomjsdriver-1.4.4.jar 并将其添加到项目

使用以下代码块并执行import org.openqa.selenium.phantomjs.PhantomJSDriver;

com.codeborne:phantomjsdriver:jar:1.4.4

重要 @Test 仍然通过 import java.io.File; import org.openqa.selenium.WebDriver; import org.openqa.selenium.phantomjs.PhantomJSDriver; public class phantomJS_launch { public static void main(String[] args) { File path=new File("C:\\Utility\\phantomjs-2.1.1-windows\\bin\\phantomjs.exe"); System.setProperty("phantomjs.binary.path",path.getAbsolutePath()); WebDriver driver= new PhantomJSDriver(); driver.get("https://www.google.co.in"); System.out.println(driver.getTitle()); driver.quit(); } }

解决

控制台输出:

PhantomJSDriver()

您可以在此处找到有关How can I resolve my class from a different jar with same structure like another

的详细讨论