以下代码可在控制台上完美运行,但不能作为字符串在selenium javascript执行程序中传递。请帮助我。
也尝试将完整的脚本包装到函数中,但这也没有用。
var regex = new RegExp("^[0-9]+$");
$("#pane-side span[class]").filter(function () {
return regex.test($(this).text());
});
由Javascriptexecutor提供的空值。
答案 0 :(得分:0)
您必须按如下所示更改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);'))
输出:
False
,当跨度文本为“ Hello”时
True
,范围为“ 123”
截屏:
编辑:
示例HTML:
<html>
<body>
<div id="pane-side">
<span class="someclass">123</span>
</div>
<div id="pane-side">
<span class="someclass2">no number</span>
</div>
</body>
</html>