Javascript error: missing ) after argument list
Javascript error: missing ) after argument list
我没找到这个错误的原因。它似乎在第 4 行。我尝试了各种不同的方法。谁能指出我哪里出错了?
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 代码以使用反引号代替单引号:
"arguments[0].querySelector(`" + componentQuery + "`)";
但第一个解决方案更可靠。
我没找到这个错误的原因。它似乎在第 4 行。我尝试了各种不同的方法。谁能指出我哪里出错了?
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 代码以使用反引号代替单引号:
"arguments[0].querySelector(`" + componentQuery + "`)";
但第一个解决方案更可靠。