gpt4 book ai didi

testing - 如何从使用自定义属性的 HTML 元素中获取文本?

转载 作者:行者123 更新时间:2023-11-28 19:52:43 25 4
gpt4 key购买 nike

我正在研究 Selenium 框架 2.0 Web 驱动程序,我想从具有 data-automation-id 等属性的跨度中获取值(value)。 HTML代码如下

<span data-automation-id="SEL_ERR">
Error Description
</span>

现在我想读取具有属性 data-automation-id 设置为 SEL_ERR 的文本。

有人可以帮助我修复代码吗,因为我已经尝试了下面的代码但没有成功。

driver.findElement(By.tagName("span")).getAttribute("data-automation-id");

最佳答案

其实很简单。您目前在整个文档中获得非常 第一个 span

你怎么知道那是不是你想要的?

见面,.findElements()。它不会获取满足定位器的第一个元素,而是会为您提供满足条件的每个元素的列表。

您没有分享太多 HTML,所以我不知道这是否是一个独特的元素。

但是,您有两种方法:

1) 使用.findElements 获取所有 span 元素,然后将其过滤为特定具有属性 的元素>data-automation-id 值为 SEL_ERR

或(推荐):

2) 将 .findElement 与一个选择器一起使用,该选择器专门针对在 1) 中讨论的元素...如果 Selenium 找不到它,则使用一个更有针对性的选择器,那么您就知道它找不到了。不存在。

driver.findElement(By.cssSelector("span[data-automation-id='SEL-ERR']"));

或:

3) 2) 的修改。如果 Selenium 找不到它,它会抛出异常。异常(exception)是昂贵的。您可以改用 .findElements(在 1) 中提到),如果找不到您要查找的元素,它将简单地返回一个空列表:

driver.findElements(By.cssSelector("span[data-automation-id='SEL-ERR']")).size() != 0;

关于testing - 如何从使用自定义属性的 HTML 元素中获取文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19861321/

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