我有一个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元素包含一个标记,这就是它没有返回值的原因。
有没有办法获取值?
答案 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();