如何使用selenium获取td元素的文本?

时间:2017-01-18 06:38:39

标签: selenium

我有一个html表。我需要用selenium获取td元素的文本。

Html结构:

<table id="myTable">
    <tbody>
     <tr>
      <td>
       <b>Success: </b>
       You have transferred 1,000.00 USD to DIST2. Your balance is now 19,979,000.00 USD.  ref: 2017011806292760301000301
      </td>
     </tr>
     </tbody>
    </table>

我尝试使用driver.findElement(By.xpath("//table[@id='myTable']/tbody/tr/td")).getText();

返回空白字符串。我需要获得&#34;您已将1,000.00美元转移到DIST2。您的余额现在是19,979,000.00美元。参考:2017011806292760301000301&#34;从中。我认为td元素包含一个标记,这就是它没有返回值的原因。

有没有办法获取值?

2 个答案:

答案 0 :(得分:1)

您的定位器是正确的。请尝试使用getAttribute("innerHTML")代替getText()

driver.findElement(By.xpath("//table[@id='myTable']/tbody/tr/td")).getAttribute("innerHTML");

答案 1 :(得分:1)

使用以下xpath(java代码) -

String result = driver.findElement(By.xpath(".//*[@id='myTable']//td[contains(.,'You have transferred')]")).getText();