只是想问一个简单的问题。 我正在学习一些有关测试的知识,但我再次遇到了一个小问题。
在我的代码中,我想调用一个使用 JavascriptExecutor 的方法。
我写:
JavascriptExecutor js = (JavascriptExecutor)driver
之后我在方法中使用它:
public void clickSearch()
{ js.executeScript("arguments[0].click()", sOmEtHiNg);}
但是,当我开始编写代码时,我得到:空指针异常
。
但是......当我在我的方法中简单地使用JavascriptExecutor时 例如:
public void clickSearch()
{ ((JavascriptExecutor)driver).executeScript("arguments[0].click()",eight); }
然后一切正常,我没有收到任何错误。
有人可以告诉我哪里犯了导致空指针异常的错误吗?
非常感谢:-)
最佳答案
public void clickSearch()
{ js.executeScript("arguments[0].click()", sOmEtHiNg);}
看起来 js
这里可能为 null,这会引发异常。我们需要确保 js
位于您的 clickSearch()
方法的范围内。你可以试试这个吗:
public void clickSearch()
{
JavascriptExecutor js = (JavascriptExecutor)driver
js.executeScript("arguments[0].click()", sOmEtHiNg);
}
或者可能:
JavascriptExecutor js = (JavascriptExecutor)driver;
clickSearch(js);
public void clickSearch(JavascriptExecutor js)
{
js.executeScript("arguments[0].click()", sOmEtHiNg);
}
关于Selenium Webdriver Java 中的 JavascriptExecutor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58123335/