html - 在网页中找到文本并单击 - Eclipse Selenium
问题描述
我想在网页中查找一些文本。此文本位于列表中,对于此列表的每个值,我需要在网页中找到文本并单击属于该值的按钮。这是我的代码:
List<String> lstFaturasAProcessar = new ArrayList<>();
for (String fatNumber : lstFaturasAProcessar) {
if(driver.getPageSource().contains(fatNumber))
driver.findElement(By.className("btn-default btn-small dropdown-trigger")).click();
}
基本上我是说,如果网页中存在该列表的值,请单击按钮。list 的所有值都有不同的按钮,并且所有按钮都有相同的类名,但是当它单击按钮时没有任何反应。按钮的 HTML:
<button type="button" class="btn-default btn-small dropdown-trigger">
<span>Obter documentos<i class="icon2-arrow-down"></i></span>
</button>
你能帮助我吗?
解决方案
- 可能有多个父级具有匹配的类名,它会选择第一个可能不是按钮的元素。因此使用 css 或 xpath 来定位具有匹配文本而不是页面源的按钮元素。
对于某些角度/反应应用程序,请尝试单击 span
Ex :- //button/span 并单击您可以试试这个,使用一些唯一标识符(例如 I'd/name 等)获取此按钮的父级,然后尝试对要单击的匹配按钮执行 css 选择器,
例如:xpath :- //div[@id ='blahblah'] / 按钮
推荐阅读
- google-sheets - Google表格,需要根据第二张表格上的两列编辑一列
- java - 在java中打开附加到eclipse项目的文件
- c# - 从另一个类调用的文件系统观察程序进程未触发事件 c#
- javascript - Javascript 和 DataTables:使用自定义格式对列进行排序
- angular - 当我的 url 的查询参数发生变化时,如何更新我的组件?
- html - 导航周围的背景图片和下方的文字
- javascript - 将相对图像 URL 添加到哈希名称
- django - Django TabularInline 中的 FOREIGN KEY 约束失败
- javascript - 找不到如何使我的广告居中。我试过 align="center" 和 margin:auto 但没有任何效果。
- php - Symfony 4 Bug Vendor /route.php 在 server:run 之后