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

Pra*_*was 6 java selenium selenium-webdriver

我有一个 html 表格。我需要用硒获取 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>
Run Code Online (Sandbox Code Playgroud)

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

它返回空白字符串。我需要从中获取“您已将 1,000.00 美元转入 DIST2。您的余额现在为 19,979,000.00 美元。参考:2017011806292760301000301”。我认为 td 元素包含一个标签,这就是它不返回值的原因。

有什么方法可以获取值吗?

Guy*_*Guy 5

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

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


Nar*_*raR 4

使用以下xpath(java代码)-

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