java - 如何使用 Selenium 搜索网页中元素的修改?
问题描述
我是 Cucumber/Selenium 的初学者,我有一个网页,上面有一个表格,其中一个框可以是 0 或 1。我的问题是这个框的值会随着时间而变化,我尝试了很多次检查此元素是否为 1,然后在一定时间后为 0,但我没有成功。
我知道如何获取这个元素的css或xpath,但是当这个元素的值改变时它不会改变,也没有办法得到这个元素的关联值(0或1)。
我试过的:
通过检查与该元素关联的源代码部分,我看到源代码中的一个字符与框同时从 1 变为 0,我尝试使用 driver.getPageSource.contains(“包含更改字符的源代码周围的区域*”),在等待一点等待指令以允许源代码有时间更改之后,但这从来没有奏效。
任何人有一个想法来帮助我做对吗?找到解决问题的方法对我来说非常重要,
谢谢你。
解决方案
如果要从元素中获取文本,请使用:
String value = driver.findElement(By.XPath(*your XPath here*)).getText();
这将在您调用它时从元素中输出内部文本。如果您的元素没有任何内部文本,请使用:
getAttribute("value")
尝试获取元素的值时,最佳实践是指定元素是什么,然后尝试从中获取值,而不是获取整个页面源并确保其中包含您期望的内容。
有许多资源可以帮助您了解 Selenium 和 Cucumber 的工作原理,我建议您在尝试构建解决方案之前先浏览一下。
推荐阅读
- php - Yii2分页只有上一个和下一个按钮隐藏页码
- laravel - Laravel 和 Google 应用引擎 flex 环境。在 nginx 配置中设置缓存控制不起作用
- swift - Swift 以编程方式设置 textview 字体仅适用于键入的新文本而不是所有文本
- angular - 单元测试:如何使用 Angular + Jasmine 模拟窗口对象的 innerWidth 属性?
- java - “未解决的要求:Import-Package: javax.ws.rs”在 Tomcat 上为 Liferay 部署 OSGi 模块时
- csv - 将 CSV 数据 (Windows-1252) 导出到 hive 时出现不可打印字符的问题
- excel - Open file, select sheet and copy it to file with macro
- c++ - 无法调用模板构造函数
- swift - What is the Dart representation of AnyClass in Swift
- amazon-dynamodb - Conditional insert in Dynamodb