org.openqa.selenium.InvalidSelectorException-[对象文本]。应该是一个要素

Saa*_*gar 1 selenium xpath selenium-webdriver

我正在尝试使用XPATH从以下位置检索值email1,Email2和HT

<table class="table-striped table-bordered" cellspacing="0" style="table-layout: fixed; width: 100%;">
<colgroup>
<tbody>
<tr class="GPEHNV5BGF GPEHNV5BNF" __gwt_subrow="0" __gwt_row="0">
<td class="GPEHNV5BFF GPEHNV5BHF GPEHNV5BIF GPEHNV5BOF">
<div __gwt_cell="cell-gwt-uid-515" style="outline-style:none;">email1</div>
</td>
<td class="GPEHNV5BFF GPEHNV5BHF GPEHNV5BOF">
<td class="GPEHNV5BFF GPEHNV5BHF GPEHNV5BCG GPEHNV5BOF">
</tr>
<tr class="GPEHNV5BFG" __gwt_subrow="0" __gwt_row="1">
<td class="GPEHNV5BFF GPEHNV5BGG GPEHNV5BIF">
<div __gwt_cell="cell-gwt-uid-515" style="outline-style:none;">Email2</div>
</td>
<td class="GPEHNV5BFF GPEHNV5BGG">
<td class="GPEHNV5BFF GPEHNV5BGG GPEHNV5BCG">
</tr>
<tr class="GPEHNV5BGF" __gwt_subrow="0" __gwt_row="2">
<td class="GPEHNV5BFF GPEHNV5BHF GPEHNV5BIF">
<div __gwt_cell="cell-gwt-uid-515" style="outline-style:none;">HT</div>
</td>
<td class="GPEHNV5BFF GPEHNV5BHF">
<td class="GPEHNV5BFF GPEHNV5BHF GPEHNV5BCG">
</tr>
Run Code Online (Sandbox Code Playgroud)

以下是我使用XPATH的代码:

int rows=driver.findElements(By.xpath("//table[@class='table-striped table-bordered']/tbody/tr")).size();
        List<String> EmailConnectorRoutineList= new ArrayList<String>();
        for(int i=0;i<=rows;i++){
            String referenceName=null;
            referenceName=driver.findElement(By.xpath("//table[@class='table-striped table-bordered']/tbody/tr[@ __gwt_row='"+i+"']/td[1]/div/text()")).getText();

            //referenceName=refName.getText();
            EmailConnectorRoutineList.add(referenceName);
        }
Run Code Online (Sandbox Code Playgroud)

我也尝试遵循XPATH

//table[@class='table-striped table-bordered']/tbody/tr[@ __gwt_row='"+i+"']/td[1]/div/text()")).getAttribute("value");
Run Code Online (Sandbox Code Playgroud)

显示以下错误:

org.openqa.selenium.InvalidSelectorException:给定的选择器// table [@ class ='table-striped table-bordered'] / tbody / tr [@ __gwt_row ='0'] / td [1] / div / text()是无效的或不会导致WebElement。发生以下错误:InvalidSelectorError:xpath表达式的结果“ // table [@ class ='table-striped table-bordered'] / tbody / tr [@ __gwt_row ='0'] / td [1] / div / text()“为:[对象文本]。它应该是一个元素。

ale*_*cxe 6

您不能将XPath表达式指向Selenium中的文本节点。最后省略该/text()部分。