当前位置: 首页 > 知识库问答 >
问题:

幽灵驱动1.2.1 PhantomJS 2.0最新硒在Java中找不到变量错误

厉永宁
2023-03-14

[错误-2016-01-16T02:22:00.898Z]会话[e6651a90-bbf7-11e5-9061-CFF57894101]-第页。OneError-msg:ReferenceError:找不到变量:数据

: 262在错误[ERROR- 2016-01-16T02:22:00.898Z]会话[e6651a90-bbf7-11e5-9061-cff578894101]-page.on错误-堆栈:(匿名函数)(http://www.example.com/ns/common/jquery/jquery.cartActions.js?cd=0: 205)o(http://www.example.com/images/common/jquery/jquery.latest.js: 2)Fire with(http://www.example.com/images/common/jquery/jquery.latest.js: 2)w(http://www.example.com/images/common/jquery/jquery.latest.js: 4)d(http://www.example.com/images/common/jquery/jquery.latest.js: 4)openUrl(: 0)open(: 280)(匿名函数)(:/ghost驱动/request_handlers/session_request_handler.js:495)_execFuncAndWaitForLoadDecorator/>)_postUrlCommand(:/ghost驱动程序/request_handlers/session_request_handler.js:494)_handle(:/ghost驱动程序/request_handlers/session_request_handler.js:91)_reroute(:/ghost驱动程序/request_handlers/request_handler.js:61)_handle(:/ghost驱动程序/request_handlers/router_request_handler.js:78): 262错误

^域是故意编辑的。

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

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

((JavascriptExecutor) driver).executeScript("arguments[0].click();", buttonToClick);

上面这一行似乎不是问题所在,因为从我的测试中,我可以看到,在出现上面的错误之前,像上面这样的多行执行时没有错误。

还有,会议。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]

最后,一切都与Firefox WebDriver配合使用。

共有1个答案

梁丘柏
2023-03-14

将JavaScript注入网页或任何其他元素都是一种糟糕的做法。您可以使用Selenium代码找到html" target="_blank">元素并单击它,而无需使用任何注入。

>

  • 等待页面加载

    通过CSS或Xpath表达式找到按钮

    等待元素通过单击

    仅使用Selenium代码单击它

    WebDriverWaet=new WebDriverWAT(驱动程序,时间等待);

    this.by=by;

    试一试{

    webElement lastFoundElement=等待。直到(预期条件。被定位元素的可视性);

    wait.untilonditions.elementToBeClickable(lastFoundElement);

    新操作(浏览器)。moveToElement(元素、偏移量x、偏移量)。单击()。build()。执行();

    }捕获(异常值){
    }

  •  类似资料:
    • 问题内容: 我正在尝试通过Laravel与PostgreSQL数据库进行连接,以进行php artisan迁移,但由于它正在读取MySQL的数据库名称,因此似乎没有针对性。 以下是来自database.php的命令: 如果删除MySQL路径,则会得到: 编辑: 尝试进行php artisan迁移时,我得到一个’PDOException:找不到驱动器’。我正在使用WAMP,并且在Win8.1中。使用

    • 问题内容: 这是错误: 怎么了 问题答案: 您需要将驱动程序加载到某个地方。 您将在程序的类路径中需要postgresql驱动程序.jar文件。

    • 《2013年水晶报告》。使用Informix JDBC驱动器ifxjdbc.jar。报告之前正在工作 情况: > crconfig.xml已编辑,因此类路径中包含以下内容: C:\Program Files(x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java/lib/ifxjdbc.jar null 获取JDBC驱

    • 我正在用Android Studio制作我的第一个测试程序。 该程序有两个活动,您在第一个活动中插入一个文本,按下一个按钮,然后文本在另一个活动上显示。 我下面的YT教程,但我发现两个错误: 找不到符号变量,也找不到解决方案。 我在这里搜索了这么久,但没有找到有效的答案。我试过: > 清洁项目和重建项目。 我没有"导入Android。R". 我用了但它告诉我"未使用的导入语句"。 我已经更改了ID

    • 在项目中,我有几个风格,几个构建类型和几个文件夹 构建组合: 文件夹结构 在每个文件夹中,我都有自定义的来注册这个 有时,但只是有时生成失败,出现“找不到符号”错误: 或与类无关但错误相同 但是下一个构建可能会成功,所以可能的流程是 构建(成功) 代码中的一些更改 构建(错误) 生成重试(成功) 注意事项 这不是同步问题,同步/无效缓存不是答案 免责声明:有些问题看起来像这一个,但它们是不同的,例

    • 我遇到了一个奇怪的问题!我的xml文件中有每个布局的id名,并且在我的主要活动中创建了对它们的变量引用。java文件。 当我清理和重建我的项目时,我得到的是: “错误:找不到符号layoutMain=findViewById(r.id.layoutMain);” 我在用敏。SDK 21,目标29

    • 有一个代码: 当我试图获取或时,它只显示。但是 我不明白,为什么会这样。