我想用phantomJS
一些网络测试,我已经遇到GhostDriver
( https://github.com/detro/ghostdriver )。 我已经使用自述文件中的说明构建它,我可以在指定的端口上运行它,但我不知道如何从我的Java代码中访问网络驱动程序。 为了澄清,我已经看到了这个红宝石例如:
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做同样的。
我相信这个链接将回答您的问题。 你需要硒2.28.0和PhantomJS 1.8。 我测试了这一点,它像宣传的那样,虽然我的测试是前兆。 请注意,您需要下载硒zip文件以获得其中包含绑定的罐子。 Maven的回购还不包括它。
http://ivandemarino.me/2012/12/04/Finally-GhostDriver-1-0-0/
只是为了澄清别人谁可能会看到这一点,从Java运行它:
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
"/Path/to/bin/phantomjs");
driver = new PhantomJSDriver(caps);
然后,它可用于像通常的webdriver。
首先下载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");
}
}
只有设置系统属性:
System.setProperty("phantomjs.binary.path", "lib/phantomjs.exe");
WebDriver driver = new PhantomJSDriver();