首页 > 解决方案 > 如何使用 Selenium 搜索网页中元素的修改?

问题描述

我是 Cucumber/Selenium 的初学者,我有一个网页,上面有一个表格,其中一个框可以是 0 或 1。我的问题是这个框的值会随着时间而变化,我尝试了很多次检查此元素是否为 1,然后在一定时间后为 0,但我没有成功。

我知道如何获取这个元素的css或xpath,但是当这个元素的值改变时它不会改变,也没有办法得到这个元素的关联值(0或1)。

我试过的:

通过检查与该元素关联的源代码部分,我看到源代码中的一个字符与框同时从 1 变为 0,我尝试使用 driver.getPageSource.contains(“包含更改字符的源代码周围的区域*”),在等待一点等待指令以允许源代码有时间更改之后,但这从来没有奏效。

任何人有一个想法来帮助我做对吗?找到解决问题的方法对我来说非常重要,

谢谢你。

标签: javaseleniumgoogle-chromeselenium-webdriverwebdriver

解决方案


如果要从元素中获取文本,请使用:

String value = driver.findElement(By.XPath(*your XPath here*)).getText();

这将在您调用它时从元素中输出内部文本。如果您的元素没有任何内部文本,请使用:

getAttribute("value")

尝试获取元素的值时,最佳实践是指定元素是什么,然后尝试从中获取值,而不是获取整个页面源并确保其中包含您期望的内容。

有许多资源可以帮助您了解 Selenium 和 Cucumber 的工作原理,我建议您在尝试构建解决方案之前先浏览一下。


推荐阅读