javaScriptExecutor返回Null
下面的代码在控制台上运行良好,但在selenium javascript executor中作为字符串传递时则无法运行。请帮帮我 还尝试将整个脚本包装到函数中,但也不起作用javaScriptExecutor返回Null,javascript,jquery,selenium,Javascript,Jquery,Selenium,下面的代码在控制台上运行良好,但在selenium javascript executor中作为字符串传递时则无法运行。请帮帮我 还尝试将整个脚本包装到函数中,但也不起作用 var regex = new RegExp("^[0-9]+$"); $("#pane-side span[class]").filter(function () { return regex.test($(this).text()); }); Javascriptexecutor提供的null。您必须更改
var regex = new RegExp("^[0-9]+$");
$("#pane-side span[class]").filter(function () {
return regex.test($(this).text());
});
Javascriptexecutor提供的null。您必须更改javascript,如下所示
var regex = new RegExp("^[0-9]+$");
return regex.test(document.querySelector("#pane-side span[class]").textContent);
从selenium python运行以下命令:
print(driver.execute_script('var regex = new RegExp("^[0-9]+$"); return regex.test(document.querySelector("#pane-side span[class]").textContent);'))
输出:
当span text Hello时为False
span 123时为True
截图:
编辑:
示例HTML:
123
没有号码
显示您在JavascriptExecutorString searchNumberString=function aaaa{\n+var regex=new RegExp\[0-9]+$\;\n+var abc=$\pane side span[class]\.filterfunction{\n+return regex.test$this.text;\n+};\n+return abc;\n+};\n+\n+返回aaaa;;JavascriptExecutor js=JavascriptExecutor驱动程序;List元素=List js.executeScriptsearchNumberString;你能用jquery找到一个例子吗?添加了jquery例子,请检查并告诉我你是否有任何问题。函数aaaa{\n+var regex=new RegExp\^[0-9]+$\;\n+var abc=$\pane side span[class]\.filterfunction{\n+return regex.test$this.text;\n+};\n+返回abc;\n+}\n+\n+返回aaaa;;终于让代码正常工作了。谢谢大家的回复。你能把你的jquery代码作为文本也放在gif中吗?