我正在尝试使用匿名函数通过Selenium中的executeAsyncScript进行jquery调用。我通常不使用匿名函数,所以我认为我的语法正确,但是,我不断收到语法错误:Exception:org.openqa.selenium.WebDriverException: missing ; before statement
谷歌搜索错误消息基本上说这是一个语法问题,但我找不到我的错误
代码:
JavascriptExecutor js = (JavascriptExecutor) driver;
String ex = "cb = arguments[ arguments.length - 1 ];\n" +
"(function(){String btn = \"jq(\\\"a[title='Import']\\\").click();\"}());\n" +
"cb();";
System.out.println(ex);
js.executeAsyncScript(ex);
println(ex)给我的看起来是正确的:
cb = arguments[ arguments.length - 1 ];
(function(){String btn = "jq(\"a[title='Import']\").click();"}());
cb();
第二双眼睛会非常感激,看看我做错了什么或不理解。谢谢。
正如旁注,我们已经在我们的环境中覆盖$为“jq”。