gpt4 book ai didi

javascript - Selenium 使用 Xpath 读取隐藏 Web 元素的文本

转载 作者:行者123 更新时间:2023-11-30 07:02:36 31 4
gpt4 key购买 nike

我在我们的一个自动化脚本中遇到了一个问题,其中我需要读取可访问性被隐藏的元素的文本,因为 selenium 无法读取隐藏元素的文本。我也在这里查看了其他帖子,他们建议执行 javascript 并使用元素的 ID 读取innerHTML。在我们的例子中,挑战是我无法使用 Web 元素的 ID 作为其动态,并且每次在 Web 浏览器中加载页面时都会发生变化,因此我必须依赖 Xpath,请在下面找到该元素的代码 -

<div id="milestone_gwt-uid-2132" class="accessibilityhidden">Current Step: Referral Details</div>

现在 id 即“milestone_gwt-uid-2132”不是静态的,每当加载页面时就会发生变化,并且我想阅读文本 - “当前步骤:推荐详细信息”。有没有使用 Selenium Java 的有效方法来做到这一点?

谢谢

最佳答案

方法getText返回可见文本。使用executeScript获取隐藏文本:

WebElement elem = driver.findElement(By.xpath("//div[contains(text(), 'Current Step:')]"));
String hiddenText = (String)((JavascriptExecutor)driver).executeScript(
"return arguments[0].textContent;", elem);

请注意,在测试中评估某些隐藏文本可能不是一个好主意,因为它不能反射(reflect)用户可以看到的内容。

关于javascript - Selenium 使用 Xpath 读取隐藏 Web 元素的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40633110/

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