【发布时间】:2015-04-11 00:32:59
【问题描述】:
我编写了一个 Ghostdriver Maven Java 项目,我在 Ubuntu 14.04 64 位中使用 shell 脚本调用了 jar 文件的许多实例。
我的 shell 脚本中的每一行都会调用我的 jar 文件的一个新实例。
每一行的格式:
screen -dmS name java -jar /path/name.jar arg1 arg2 arg3
目前我有 1 个网络接口 (eth0) 分成多个网络别名(eth0:1、eth0:2 等),每个别名指向一个私有 IP,而该私有 IP 又指向一个公共 IP。
我正在尝试找到为我的 java 程序的每个实例分配私有 IP 和可能的端口号的最佳方法。目前我在我的程序中调用 Ghostdriver。
我在程序中调用 ghost driver 的方式:
public class className {
PhantomJSDriver driver;
public static final File PHANTOMJS_EXE = new File("//home/username/phantomjs/bin/phantomjs");
public className() {
callGhostdriver();
driver.quit();
}
private void callGhostdriver() {
{
DesiredCapabilities caps = new DesiredCapabilities();
caps.setJavascriptEnabled(true);
caps.setCapability("phantomjs.binary.path",
PHANTOMJS_EXE.getAbsolutePath());
driver = new PhantomJSDriver(caps);
driver.manage().window().maximize();
actions = new Actions(driver);
}
}
}
任何帮助将不胜感激。
***更新****
我尝试更改 callGhostdriver 方法但没有成功。
private void callGhostdriver() {
DesiredCapabilities dcaps = new DesiredCapabilities();
dcaps.setCapability(
PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
PHANTOMJS_EXE.getAbsolutePath());
String[] phantomJsArgs = {"--webdriver=172.16.190.131:6781"};
dcaps.setCapability(
PhantomJSDriverService.PHANTOMJS_CLI_ARGS,
phantomJsArgs);
driver = new PhantomJSDriver(dcaps);
driver.manage().window().maximize();
actions = new Actions(driver);
}
参数 --webdriver=IP:PORT 似乎被默认覆盖 --webdriver 调用。
运行 jar 的输出:
*2015 年 4 月 12 日下午 5:26:25 org.openqa.selenium.phantomjs.PhantomJSDriverService 信息:端口:8651 2015 年 4 月 12 日下午 5:26:25 org.openqa.selenium.phantomjs.PhantomJSDriverService 信息:参数: [--webdriver=172.16.190.131:6781,--webdriver=8651, --webdriver-logfile=/home/RemovedPath/phantomjsdriver.log] 2015 年 4 月 12 日下午 5:26:25 org.openqa.selenium.phantomjs.PhantomJSDriverService 信息:环境:{} [INFO - 2015-04-12T21:26:26.584Z] GhostDriver - Main - 在端口 8651 上运行
它应该使用具有不同私有 IP 的端口 6781,但它使用的是 8651。
【问题讨论】:
-
我可以设置所有功能,但是 --webdriver=port,好像你无法更改它,或者它是一个错误?
-
我至少可以更改它使用的端口吗?这样我就可以使用 iptables 来管理流量。目前它只是随机选择一个端口。
标签: ip ubuntu-14.04 ghostdriver