10

我想phantomJS用于一些网络测试,我遇到过GhostDriverhttps://github.com/detro/ghostdriver)。我已经使用自述文件中的说明构建了它,并且可以在指定的端口上运行它,但是我不确定如何从我的 java 代码中访问 Web 驱动程序。为了澄清,我在 ruby​​ 中看到了这个例子:

  caps = {
  :browserName => "phantomjs",
  :platform => "LINUX"
   }

urlhub = "http://key:secret@hub.testingbot.com:4444/wd/hub"

client = Selenium::WebDriver::Remote::Http::Default.new
client.timeout = 120

@webdriver = Selenium::WebDriver.for :remote, :url => urlhub, :desired_capabilities => caps, :http_client => client
@webdriver.navigate.to "http://www.google.com/"
puts @webdriver.title
@webdriver.save_screenshot("./screenshot.png")
@webdriver.quit

我只是不确定如何从 java 做同样的事情。

4

4 回答 4

17

只是为了澄清其他可能会看到这一点的人,从 java 运行它:

DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
                "/Path/to/bin/phantomjs");                  
driver = new PhantomJSDriver(caps);

然后它可以像通常的 WebDriver 一样使用。

于 2013-01-04T10:44:22.820 回答
4

我相信这个链接会回答你的问题。您将需要 Selenium 2.28.0 和 PhantomJS 1.8。我已经对此进行了测试,它的工作原理与宣传的一样,尽管我的测试是先行的。请注意,您需要下载 Selenium zip 文件以获取包含绑定的 jar。Maven 存储库尚未包含它。

http://ivandemarino.me/2012/12/04/Finally-GhostDriver-1-0-0/

于 2013-01-04T00:08:44.063 回答
2

首先下载PhantomJSDriver的exe文件。不需要安装,只需从http://phantomjs.org/download.html下载这个文件,并在给定的代码中简单地给出 exe 文件的路径。

 public class Browserlaunch {
    public static void main(String[] args) {
        DesiredCapabilities DesireCaps = new DesiredCapabilities();
        DesireCaps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "C:/Drivers/phantomjs/bin/phantomjs.exe");
        WebDriver driver=new PhantomJSDriver(DesireCaps);
        driver.get("http://google.com");

   }
}
于 2015-02-21T09:37:21.563 回答
2

只设置系统属性:

System.setProperty("phantomjs.binary.path", "lib/phantomjs.exe");
WebDriver driver = new PhantomJSDriver();
于 2017-06-02T14:28:49.260 回答