gpt4 book ai didi

java - 无法在 OSX 上从 java.app 启动 Phantomjs 驱动程序

转载 作者:行者123 更新时间:2023-12-01 10:07:18 24 4
gpt4 key购买 nike

我在 Java 上创建了一个应用程序来启动 phantomjs 驱动程序。

我的程序在从 Eclipse 启动时成功创建了 phantomjs 驱动程序,代码如下:

DesiredCapabilities desireCaps = new DesiredCapabilities();
desireCaps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, directory + "/phantomjs");
desireCaps.setCapability("phantomjs.cli.args", Collections.singletonList("--ignore-ssl-errors=true"));
desireCaps.setCapability("phantomjs.page.settings.userAgent", "Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0");
driver = new PhantomJSDriver(desireCaps);

我这样创建了一个 .app:

enter image description here

其中“MainJar.jar”是eclipse生成的jar,“launcher”是基本上执行 java -jar MainJar.app 的批处理,“phantomjs”是 selenium phantomjs 官方可执行文件。

当我从“.app”启动应用程序时,我在 driver = new PhantomJSDriver(desireCaps); 上收到以下错误:

Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure. Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'Air-de-Me', ip: 'XXX.XXX.X.XX', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.10.5', java.version: '1.8.0_73' Driver info: driver.version: PhantomJSDriver

但是,当我通过启动“启动器”脚本运行应用程序时,应用程序成功创建驱动程序。我的第一个想法是“应用程序”找不到 phantomjs 驱动程序,因为路径设置不正确,但我在日志中打印了 (phantomjs_file).exists(); 并且它正确找到了它。

我已经使用 chmod 777 对应用程序内的每个文件和应用程序本身设置了权限,只是为了排除权限错误。

浏览器无法初始化是否有原因?

非常欢迎任何帮助。

最佳答案

我已经找到了问题的答案。问题是 phantomjs 从“.app”运行时无法获得写入自己的日志文件的权限。

我找到了一种方法(对我有用的唯一方法),禁用 phantomjs 日志写入:

driver = new PhantomJSDriver(new PhantomJSDriverService.Builder()
.usingPhantomJSExecutable(new File("PATH_TO_EXECUTABLE"))
.withLogFile(null).build(),
desireCaps);

关于java - 无法在 OSX 上从 java.app 启动 Phantomjs 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36364570/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com