如何使用Selenium搜索网页中元素的修改?

时间:2019-01-18 15:31:04

标签: java selenium google-chrome selenium-webdriver webdriver

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

我知道如何获取此元素的css或xpath,但是当此元素的值更改时,它也不会更改,并且无法获取此元素的关联值(0或1)。

我尝试过的事情:

通过检查与该元素关联的部分源代码,我发现源代码中的字符与该框同时从1变为0,并且我尝试使用driver.getPageSource.contains检查此更改。 (“源代码周围包含已更改字符的区域*”),在稍等一会后等待了一条等待指令以允许源代码有时间更改,但这从未奏效。

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

谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

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

getAttribute("value")

尝试获取元素的值时,最佳做法是先指定元素的含义,然后再尝试从中获取元素的值,而不是获取整个页面的源代码并确保期望的内容包含在其中它。

有很多资源可以帮助您了解Selenium和Cucumber的工作方式,建议您在尝试构建解决方案之前先进行浏览。