gpt4 book ai didi

java - 将参数传递给 JavascriptExecutor 的正确方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 13:59:58 25 4
gpt4 key购买 nike

我尝试在我的代码中使用 JavascriptExecutor,其中涉及传递 WebElement 并从中获取一些信息。我遇到了一些错误,所以我简化了它以找到问题。

String test = ((JavascriptExecutor)driver).executeScript("返回参数[0];", "macon").toString();

该代码将无法运行。它会抛出一个NullPointerException。我可以通过不尝试访问传递的变量来避免它。我通过什么似乎并不重要;可以是 int、string、WebElement 等。

那怎么了?我看不出在线示例和我的代码之间有任何差异,但显然有一些东西。我使用的是 Firefox WebDriver,我的 Selenium 版本是 2.44.0

最佳答案

您只需将结果转换为String:

JavaScriptExecutor js = (JavaScriptExecutor) driver;
String test = (String) js.executeScript("return arguments[0];", "macon");

此外,selenium 2.44 和 Firefox 35/36 之间存在兼容性问题,影响了 javascript 代码的执行:

关于java - 将参数传递给 JavascriptExecutor 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29391390/

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