【问题标题】:How to search for a modification of an element in a web page using Selenium?如何使用 Selenium 搜索网页中元素的修改?
【发布时间】:2019-01-18 15:31:04
【问题描述】:

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

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

我尝试过的:

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

有人有想法可以帮我做对吗?找到解决问题的方法对我来说非常重要,

谢谢。

【问题讨论】:

  • 欢迎来到 Stack Overflow!请参阅:How do I do X? SO 的期望是,提出问题的用户不仅会进行研究以回答他们自己的问题,还会分享该研究、代码尝试和结果。这表明您已经花时间尝试帮助自己,它使我们免于重复明显的答案,最重要的是它可以帮助您获得更具体和相关的答案!另见:How to Ask

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


【解决方案1】:

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

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

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

getAttribute("value")

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

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

【讨论】:

  • 谢谢你,它成功了!由于我是初学者,我不清楚元素值的这种想法,但现在更好了,谢谢。
  • 不客气。我建议下次展示您在遇到问题之前尝试过的代码类型。这将帮助那些试图帮助您的人,并使我们更容易为您指明正确的方向。如果您可以将此设置为答案,那么人们可以看到帖子已被关闭
猜你喜欢
  • 2015-03-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多