SeleniumWebDriverJava中的JavascriptExecutor
我只是想问一个简单的问题。 我正在学习一些关于测试的知识,再一次我遇到了一个小问题 在我的代码中,我想调用一个将使用JavascriptExecutor的方法 我写道:SeleniumWebDriverJava中的JavascriptExecutor,java,selenium,Java,Selenium,我只是想问一个简单的问题。 我正在学习一些关于测试的知识,再一次我遇到了一个小问题 在我的代码中,我想调用一个将使用JavascriptExecutor的方法 我写道: JavascriptExecutor js = (JavascriptExecutor)driver 然后我在方法中使用它: public void clickSearch() { js.executeScript("arguments[0].click()", sOmEtHiNg);} 但是,当我启动代码时,我得到:Nu
JavascriptExecutor js = (JavascriptExecutor)driver
然后我在方法中使用它:
public void clickSearch()
{ js.executeScript("arguments[0].click()", sOmEtHiNg);}
但是,当我启动代码时,我得到:Null指针异常
但是。。。当我在方法中简单地使用JavascriptExecutor时
例如:
public void clickSearch()
{ ((JavascriptExecutor)driver).executeScript("arguments[0].click()",eight); }
然后一切正常,我没有错误
有人能告诉我我在哪里犯了导致空指针异常的错误吗
非常感谢:-)
看起来这里的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);
}
看起来这里的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);
}
这个有效。
第二种是由于阶级不同而不能使用的。
我在一个上面写,在另一个上面运行:-)
再次非常感谢:-)
这个有效。
第二种是由于阶级不同而不能使用的。
我在一个上面写,在另一个上面运行:-)
再次非常感谢:-)