如何使用xpath获取HTML5数据属性?

Bal*_*ala 18 ruby java xpath capybara selenium-webdriver

如何使用xpath为Webdriver获取第一个表(table1)?

<span id="dynamically generated id" data-id="table1">
  <table>
  ...
  </table>
</span>

<span id="dynamically generated id" data-id="table2">
  <table>
  ...
  </table>
</span>
Run Code Online (Sandbox Code Playgroud)

我能够获得所有data-id元素,但我想在其中过滤文本table1以获得确切的元素.

这没用!

driver.findElement(By.xpath("//@*[starts-with(name(),'data-id') [contains(text(),'table1')]]")); 
Run Code Online (Sandbox Code Playgroud)

Mor*_*sen 21

你得到这样的表:

//span[@data-id='table1']/table
Run Code Online (Sandbox Code Playgroud)

选择data-id属性并获取name的子元素table.


Bal*_*ala 13

回答我自己的问题......这似乎得到了确切的要素.

driver.findElement(By.xpath("//*[@data-id='table1']"))
Run Code Online (Sandbox Code Playgroud)