我想从标记中获取文本内容,该标记位于名为“作者:”的div文本正下方。 我已经确定了“作者”的位置,但是我需要遍历每个作者块,并且需要获取与“作者”标签相关联的相应文本。我尝试了以下但是我无法得到结果。
// table [@ id ='thdListTable'] // td [@ class ='msgHead'] // div [contains(text(),'Author:')] // td [@ class ='msgHead'] / div [contains(text(),'Author:')]
<table id="thdListTable" width="95%">
<tbody>
<tr>
<td class="msgHead">
<div>
Author:
<b>Kurt Wendt <Kurt_Wendt (AT) globetax D.O.T com></b>
<br/>
Subject:
<b>To Impersonate on MS SQL</b>
-
<a target="_new" href="/archives/msg/501727">Link</a>
<br/>
Posted:
<b>2015-10-14 11:31:56</b>
<br/>
</div>
</td>
</tr>
答案 0 :(得分:1)
你可以尝试去找div下面的第一个b
元素,因为如果我理解正确的话,那应该是作者的名字。
然后通过getText()
方法
string xpathExpression = "//td[@class='msgHead']/div[contains(text(), 'Author:')]/b[1]";
string authorName = driver.findElement(By.xpath()).getText();
答案 1 :(得分:1)
//table[@id='thdListTable']//div/b[1]"
答案 2 :(得分:1)
是的,您可以使用代码
到达那里//td[@class='msgHead']/div[contains(text(), 'Author:')]/b[1]
因此,您可以通过更改文本包含名称来检索其他人的相同结果。