无法使用Selenium WebDriver单击表中的按钮

时间:2019-05-22 07:05:04

标签: java selenium-webdriver

我试图单击列内的动态按钮,但遇到此错误org.openqa.selenium.InvalidSelectorException:无效选择器:由于以下错误,无法找到带有xpath表达式2的元素: TypeError:无法在'Document'上执行'evaluate':结果不是节点集,因此无法转换为所需的类型。

这是我的相同代码:

    WebElement htmltable=driver.findElement(By.xpath("//*[@id='root']//table/tbody"));
    //*[@id="root"]//table/tbody/tr[1]/td[1]
    List<WebElement> rows=htmltable.findElements(By.tagName("tr"));
    System.out.println("Number of rows:"+rows.size());
    for(int rnum=0;rnum<rows.size();rnum++)
    {
    List<WebElement> columns=rows.get(rnum).findElements(By.tagName("td"));
    System.out.println("Number of columns:"+columns.size());
    for(int cnum=0;cnum<columns.size();cnum++)
    {
    System.out.println(columns.get(cnum).getText());
    }

    String beforexpath = "//*[@id='root']//table/tbody/tr[";
    String afterxpath = "]/td[3]";

    for (int i=2;i<=rnum;i++) {
        String SourcetableName= driver.findElement(By.xpath(""+i+"")).getText();
        System.out.println(SourcetableName);
        if(SourcetableName.contains("account_master")) {
            Thread.sleep(5000);
            driver.findElement(By.xpath("//*[@id='root']//table/tbody/tr["+i+"]/td[5]//*[@id='plus']")).click();

        }

这是HTML:

<tr class=""><td tabindex="14" class="" style="text-align: left;"><div></div></td><td tabindex="15" class="" style="text-align: left;">78</td><td tabindex="16" class="" style="text-align: left;">account_master_US</td><td tabindex="17" class="" style="text-align: left;"></td><td tabindex="18" class="" style="text-align: left;"><div class="glyphicon glyphicon-plus" id="plus" style="color: black; cursor: pointer;"></div></td><td tabindex="19" class="" style="text-align: left;"></td><td tabindex="20" class="" style="text-align: left;">13</td><td tabindex="21" class="" style="text-align: left;"></td><td tabindex="22" class="" style="text-align: left;"></td><td tabindex="23" class="" style="text-align: left;"></td><td tabindex="24" class="" style="text-align: left;"></td><td tabindex="25" class="" style="text-align: left;"></td><td tabindex="26" class="" style="text-align: left;"></td></tr>

0 个答案:

没有答案