Javascript Ghostdriver 1.2.1+;幻影2.0+;最新的硒罐';在Java中找不到变量错误

Javascript Ghostdriver 1.2.1+;幻影2.0+;最新的硒罐';在Java中找不到变量错误,javascript,java,selenium,phantomjs,ghostdriver,Javascript,Java,Selenium,Phantomjs,Ghostdriver,[ERROR-2016-01-16T02:22:00.898Z]会话[e6651a90-bbf7-11e5-9061-CFF57894101]-page.onError-msg:ReferenceError:找不到变量:数据 :262错误 [ERROR-2016-01-16T02:22:00.898Z]会话[e6651a90-bbf7-11e5-9061-cff578894101]-page.onError-堆栈: (匿名函数)() o() 火石() w() d() openUrl(:0) 开放

[ERROR-2016-01-16T02:22:00.898Z]会话[e6651a90-bbf7-11e5-9061-CFF57894101]-page.onError-msg:ReferenceError:找不到变量:数据

:262错误 [ERROR-2016-01-16T02:22:00.898Z]会话[e6651a90-bbf7-11e5-9061-cff578894101]-page.onError-堆栈: (匿名函数)() o() 火石() w() d() openUrl(:0) 开放(:280) (匿名函数)(:/ghostdriver/request\u handlers/session\u request\u handler.js:495) _execFuncAndWaitForLoadDecorator(:/ghostdriver/session.js:212) _postUrlCommand(:/ghostdriver/request\u handlers/session\u request\u handler.js:494) _句柄(:/ghostdriver/request\u handlers/session\u request\u handler.js:91) _重新路由(:/ghostdriver/request\u handlers/request\u handler.js:61) _句柄(:/ghostdriver/request\u handlers/router\u request\u handler.js:78) :262错误

^域被故意删除

根据这一观点,错误与没有正确执行Javascript有关。我不明白这在我的Java程序上下文中意味着什么

我的Selenium程序只有一种Javascript调用,其工作原理如下:

((JavascriptExecutor) driver).executeScript("arguments[0].click();", buttonToClick);
上面这一行似乎不是问题所在,因为从我的测试中,我可以看到,在出现上面的错误之前,像上面这样的多行执行时没有错误

此外,Session.NegotiatedCapabilities具有“acceptSslCerts”:false,我无法使用此代码块作为PhantomJS驱动程序初始值设定项来解决此问题:

String[] cli_args = new String[]{"--debug=false", "--web-security=false", "--ssl-protocol=any", "--ignore-ssl-errors=true"};
        DesiredCapabilities caps = DesiredCapabilities.phantomjs();
        caps.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, cli_args);
        caps.setCapability(PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY, "/Users/richard/Downloads/phantomjs-2.0.0-macosx/bin/phantomjs");
        driver = new PhantomJSDriver(caps);
我可以看到参数正在控制台上传递

Jan 16, 2016 6:23:40 AM org.openqa.selenium.phantomjs.PhantomJSDriverService <init>
INFO: arguments: [--web-security=no, --ignore-ssl-errors=yes, --webdriver=33238, --webdriver-logfile=/Users/richard/YeezyBot/phantomjsdriver.log]
2016年1月16日上午6:23:40 org.openqa.selenium.phantomjs.PhantomJSDriverService
信息:参数:[--web安全=否,--忽略ssl错误=是,--webdriver=33238,--webdriver日志文件=/Users/richard/YeezyBot/phantomjsdriver.log]

最后,Firefox WebDriver的所有功能都可以正常工作。

对于阅读本文的任何人来说,我必须得出结论,PhantomJS感觉像是一个不成熟的软件。为了让基本的东西正常工作,我们必须找出这么多的黑客。不推荐。那么无头浏览器的替代方案是什么?您可以在无头模式下使用chrome。