如何获取设计在div文本下面的<b>标记的xpath

时间:2015-11-02 09:48:43

标签: java selenium xpath selenium-webdriver webdriver

我想从标记中获取文本内容,该标记位于名为“作者:”的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>

enter image description here

3 个答案:

答案 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]

因此,您可以通过更改文本包含名称来检索其他人的相同结果。

相关问题