gpt4 book ai didi

javascript - 在 selenium javascript 执行器中使用 javascript

转载 作者:行者123 更新时间:2023-12-03 12:21:03 24 4
gpt4 key购买 nike

我想验证我所需的文本是否出现在页面上。我无法使用 selenium webdriver 的 gettext() 方法作为其抛出权限异常。所以我使用 javascript 来比较文本。

 String scriptToExec = "var result = document.getElementsByClassName('Sender');
for(var element in result){
if (element.text.contains('mytext'))
{return true;}
else
{return false;}}";

JavascriptExecutor js = (JavascriptExecutor) driver;
Boolean result = (Boolean) (js.executeScript(scriptToExec));

我收到此异常:org.openqa.selenium.remote。

ErrorHandler $UnknownServerException:element.text 未定义

最佳答案

这里有许多 JavaScript 问题,以及严重缺乏对选择器的理解。 contains 不是标准的一部分,并且不适用于较旧的浏览器:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/contains

如果 element.text 由于某种原因未定义,您需要处理该问题:

if (element && element.text && element.text.contains('mytext'))

(意思是,如果“element”是something并且element.text是something并且element.text包含'mytext')

此外,我可以看到您基本上是在尝试对某些文本进行包含搜索 - 您绝对不需要 JavaScript 为此。可以使用 XPath 选择器来完成!

关于javascript - 在 selenium javascript 执行器中使用 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24451652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com