首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >org.openqa.selenium.InvalidSelectorException -[对象文本]。它应该是一个元素

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

Stack Overflow用户
提问于 2016-07-24 15:10:49
回答 2查看 21.4K关注 0票数 5

我正在尝试从下面使用XPATH检索值email1、Email2和HT

代码语言:javascript
复制
<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>

下面是我使用XPATH的代码:

代码语言:javascript
复制
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);
        }

我也尝试过跟随XPATH。

代码语言:javascript
复制
//table[@class='table-striped table-bordered']/tbody/tr[@ __gwt_row='"+i+"']/td[1]/div/text()")).getAttribute("value");

显示以下错误:

org.openqa.selenium.InvalidSelectorException:给定的选择器//table@class='table-striped table-bordered‘/t正文/tr@_gwt_row=’0‘/td1/div/text()要么无效,要么不会导致WebElement。发生了以下错误: InvalidSelectorError: xpath表达式"//table@class='table-striped table-bordered'/tbody/tr@ _gwt_row=‘0’/td1/div/ Text ()“的结果是: object。它应该是一个元素。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-24 15:13:35

不能将XPath表达式指向Selenium中的文本节点。在结尾省略/text()部分。

票数 13
EN

Stack Overflow用户

发布于 2021-03-25 09:55:54

我不知道您使用的是哪种语言,但确实需要省略xpath中的/text()。

如果你想要文本,你必须在结尾做一些类似.get或.get()之类的广告

代码语言:javascript
复制
//....tbody/tr[@ __gwt_row='"+i+"']/td[1]/div")).get();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38553512

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档