【问题标题】:Get and print out the element using xpath使用 xpath 获取并打印出元素
【发布时间】:2013-12-04 09:57:43
【问题描述】:
<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:

【问题讨论】:

  • 也许你应该删除//*之前的点“.

标签: javascript xpath webdriver selenium-webdriver


【解决方案1】:

在您的 xpath 中,您获取的是文本,而不是元素。要查找元素,您可以使用以下 xpath://span[@class='font']

如果您需要打印出文本,那么代码应该如下:

System.out.println(driver.findElement(By.xpath("//span[@class='font']")).getText())

【讨论】:

  • 感谢您的帮助!这就是我要找的!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多