java - Selenium:根据可见文本获取属性值?

标签 java css selenium xpath

我正在使用 Java 和 Selenium。我知道我可以使用 getText() 方法获取可见文本/例如,如果我提供 ID(通过 XPath 或 CSS),我可以对此执行 getText() 以获得可见文本。但是,如果我想做相反的事情怎么办。假设我知道可见文本是什么,我想使用该文本来查找另一个属性?例如,假设我有以下 HTML 标记:

<div class="" title="Card"/>
<div id="99999cardName" class="cardName editInline" title="Click to edit">ZZZ</div>
<div id="99999cardNumber" class="cardNumber">4590 6565 6565 6565</div>

在此示例中,假设我知道值 4590 6565 6565 6565 并且我想获取值 99999cardNumber - 我该怎么做?

谢谢

最佳答案

以包含该元素文本的方式使用 xpath。这是如何做到的 -

String idVal = driver.findElement(By.xpath("//div[contains(text(),'4590 6565 6565 6565')]")).getAttribute("id");
System.out.println(idVal);

希望这对您有所帮助。

关于java - Selenium:根据可见文本获取属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32547272/

相关文章:

html - 为什么我的 html 文件在上传时不再使用我的 css 文件?

python - 单元测试+模拟+UWSGI

java - 在任何文本字段上按下 Enter 键时的操作

java - 方法卡在带有 If 条件的 for 循环中

javascript - 点击事件触发两次

javascript - 如何突出显示从 URL 检索到的日历上的特定日期?

python - selenium.common.exceptions.WebDriverException : Message: unknown error: Chrome failed to start: crashed with ChromeDriver and Selenium in Python

javascript - 无法使用 Selenium 获取元素的文本

java - 如何检查其中一个线程是否失败?

java - HTTP API 弃用警告 UTF_8、Scheme、Thread Safe ClientConn Manager