首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由XPath捕获文本的WebDriver

由XPath捕获文本的WebDriver
EN

Stack Overflow用户
提问于 2013-02-28 02:43:10
回答 4查看 5.6K关注 0票数 1

我正在尝试为自动化WebDriver测试捕获一行文本,以便稍后在比较中使用它。但是,我找不到可以与WebDriver一起工作的XPath。我以前使用text()函数来捕获不在标记中的文本,但在本例中不起作用。这里是HTML,注意这个文本永远不会相同,所以我不能使用contains或类似函数。

代码语言:javascript
复制
<div id="content" class="center ui-content" data-role="content" role="main">
<div data-iscroll="scroller">
<div class="ui-corner-all ui-controlgroup ui-controlgroup-vertical" data-role="controlgroup">
<a class="ui-btn ui-corner-top ui-btn-hover-c" style="text-align: left" data-role="button" onclick="onDocumentClicked(21228772, "document.php?loan=********&folderseq=0&itemnum=21228772&pageCount=3&imageTypeName=1003 Application - Final&firstInitial=&lastName=")" href="#" data-corners="true" data-shadow="true" data-iconshadow="true" data-wrapperels="span" data-theme="c">
<span class="ui-btn-inner ui-corner-top">
<span class="ui-btn-text">
<img class="checkMark checkMark21228772 notViewedCompletely" width="15" height="15" title="You have not yet viewed this document." src="../images/white_dot.gif"/>
1003 Application - Final. (Jan 11 2012  5:04PM)
</span>
</span>
</a>

在本例中,我尝试捕获的文本是:1003Application- Final。(Jan 11 2012 5:04 11)我已经用Firebug检查了元素,我尝试了以下XPaths,但没有成功。

代码语言:javascript
复制
html/body/div[1]/div[2]/div/div/a[1]/span/span
html/body/div[1]/div[2]/div/div/a[1]/span/span/text()

WebDriver测试是用C#编写的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-02-28 23:51:19

我能够通过从XPath中删除span标记来解决这个问题。

代码语言:javascript
复制
GetText("html/body/div[3]/div[2]/div/div/a[1]", SelectorType.XPath);
票数 1
EN

Stack Overflow用户

发布于 2013-02-28 14:47:43

您可以使用以下命令

代码语言:javascript
复制
driver.FindElement(By.XPath(".//div[@id='content']/following-sibling::span[@class='ui-btn-text']") 

代码语言:javascript
复制
var elem = driver.FindElement(By.Id("Content"));
string text = string.Empty;
if(elem!=null) {
   var textElem = elem.FindElement(By.Xpath(".//following-sibling::span[@class='ui-btn-text']"));
   if(textElem!=null) text = textElem.Text();
}
票数 1
EN

Stack Overflow用户

发布于 2013-02-28 02:48:19

python webdriver代码如下所示

代码语言:javascript
复制
driver.find_element_by_xpath("//span[@class='ui-btn-text']").text

但定位器可能不是唯一的,因为我看不到所有代码

PS尝试永远不要使用像html/body/div[1]/div[2]/div/div/a[1]/span/span这样的定位器

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15119793

复制
相关文章

相似问题

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