java向JavascriptExecutor传递参数的正确方法是什么?
我试图使用JavascriptExecutor
作为我的代码,这涉及传递一个WebElement
并从中获取一些信息。我得到了一些错误,所以我简化了它来找到问题
String test = ((JavascriptExecutor)driver).executeScript("return arguments[0];", "macon").toString();
那代码不会运行。它会抛出一个NullPointerException
。我可以通过不尝试访问传递的变量来避免它。我经过什么似乎无关紧要;可以是int、string、WebElement
等
怎么了?我看不出在线示例和我的代码之间有任何差异,但显然有一些差异。我使用的是Firefox WebDriver,我的Selenium版本是2.44.0
# 1 楼答案
您只需将结果转换为^{:
此外,selenium 2.44和Firefox 35/36之间存在兼容性问题,影响了javascript代码的执行:
# 2 楼答案
请尝试以下代码: