【发布时间】:2016-07-21 17:55:15
【问题描述】:
我在 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:
其中“MainJar.jar”是eclipse生成的jar,
“launcher”是基本上做java -jar MainJar.app的批处理,“phantomjs”是selenium phantomjs官方可执行文件。
当我从“.app”启动应用程序时,driver = new PhantomJSDriver(desireCaps); 出现以下错误:
无法开始新会话。可能的原因是远程服务器地址无效或浏览器启动失败。 构建信息:版本:“未知”,修订:“未知”,时间:“未知” 系统信息:主机:'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.version: PhantomJSDriver
但是,当我通过启动“启动器”脚本运行应用程序时,应用程序成功创建了驱动程序。我的第一个想法是“应用程序”找不到 phantomjs 驱动程序,因为路径设置不正确,但我在日志中打印了(phantomjs_file).exists();,它正确地找到了它。
我已使用 chmod 777 对我的应用内的每个文件和应用本身设置了权限,只是为了排除权限错误。
浏览器无法启动有什么原因吗?
非常欢迎任何帮助。
【问题讨论】:
标签: java macos selenium jar phantomjs