Javascript错误:参数列表后缺少(0)
我找不到这个错误的原因。好像在第四行。我试过各种不同的方法。有人能指出我在这方面的错误吗Javascript错误:参数列表后缺少(0),javascript,java,selenium,automated-tests,browser-automation,Javascript,Java,Selenium,Automated Tests,Browser Automation,我找不到这个错误的原因。好像在第四行。我试过各种不同的方法。有人能指出我在这方面的错误吗 public WebElement jsQuery(String componentQuery) { String cmd = "arguments[0].querySelector('" + componentQuery +"')"; String js = "return " + cmd + ".id;";
public WebElement jsQuery(String componentQuery) {
String cmd = "arguments[0].querySelector('" + componentQuery +"')";
String js = "return " + cmd + ".id;";
// String id = (String) js.executeScript("return document.querySelector('" + componentQuery +"').id");
String id = (String) ((JavascriptExecutor) driver).executeScript(js);
waitForJavascript(5000, 3);
return driver.findElement(By.id(id));
}
您需要在
componentQuery
Java变量中转义引号
String componentQueryEscaped=componentQuery.replaceAll(“'”,“\”);
您还可以将JS代码更改为使用反勾号而不是单引号:
“参数[0]。querySelector(`+componentQuery+“`)”;
但是第一个解决方案更可靠。这个函数是用什么调用的?这是Java,不是JavaScript。没关系,我看到它在内部执行JS。
componentQuery
的价值是什么?首先尝试自己编写JavaScript?