<table id="versionId" class="displayTable" cellspacing="0" cellpadding="0" rules="groups" style="width:100%;border-right:1px solid #DFDFDF;border-left:1px solid #DFDFDF;">
<caption class="displayCaption">
<thead>
<tbody>
<tr class="rowOdd">
<td style="width:1%">
<td style="width:15%;">
<span class="font">1</span>
</td>
<td style="width:12%">
<td style="width:10%">
<td style="width:10%">
<td style="width:13%">
<td style="width:18%">
=======
我能以任何方式获得1并打印出来吗?
我尝试了这个.//*[@id='versionId']/tbody/tr/td[2]/span/text()
:
System.out.println(driver.findElement(By.xpath(".//*[@id='versionId']/tbody/tr/td[2]/span/text()")));
它返回我的错误:
给定的选择器.// [@ id ='versionId'] / tbody / tr / td [2] / span / text()无效或不会产生WebElement。发生以下错误: InvalidSelectorError:xpath表达式的结果“.// [@ id ='versionId'] / tbody / tr / td [2] / span / text()”是:[object XrayWrapper [object Text]] 。它应该是一个元素。
帮助D:
答案 0 :(得分:4)
在你的xpath中你得到的是文本,而不是元素。要查找元素,您可以使用以下xpath://span[@class='font']
如果您需要打印文本,那么代码应该是:
System.out.println(driver.findElement(By.xpath("//span[@class='font']")).getText())