首页 > 解决方案 > 在网页中找到文本并单击 - 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>

你能帮助我吗?

标签: htmleclipseseleniumwebbutton

解决方案


  1. 可能有多个父级具有匹配的类名,它会选择第一个可能不是按钮的元素。因此使用 css 或 xpath 来定位具有匹配文本而不是页面源的按钮元素。
  2. 对于某些角度/反应应用程序,请尝试单击 span
    Ex :- //button/span 并单击

  3. 您可以试试这个,使用一些唯一标识符(例如 I'd/name 等)获取此按钮的父级,然后尝试对要单击的匹配按钮执行 css 选择器,
    例如:xpath :- //div[@id ='blahblah'] / 按钮


推荐阅读