Ruby 如何使用Nokogiri从具有两个';数据-';属性

Ruby 如何使用Nokogiri从具有两个';数据-';属性,ruby,xpath,nokogiri,Ruby,Xpath,Nokogiri,我想使用Nokogiri从一些HTML中提取数据: <td data-bar="hoge" data-date="2000-01-01" class="modals"></td> <td data-bar="fuga" data-date="2000-01-02" class="modals"></td> 但是element.length返回0 如何区分具有两个数据-属性的元素 尝试改用XPath选择器。这对我很有用: element = pag

我想使用Nokogiri从一些HTML中提取数据:

<td data-bar="hoge" data-date="2000-01-01" class="modals"></td>
<td data-bar="fuga" data-date="2000-01-02" class="modals"></td>
但是
element.length
返回
0


如何区分具有两个
数据-
属性的元素

尝试改用XPath选择器。这对我很有用:

element = page.xpath "//td[@data-bar='hoge'][@data-date='2000-01-01']"
在本例中,
/
部分将匹配文档中的任何
td
元素(具有这些属性),这可能是不需要的。在这种情况下,您需要为节点编写更显式的XPath


下面是XPath的文档:

您的HTML示例可能太少了。
td
您所追求的元素是否只有
class=“modals”
?如果是这样,您的选择器将变成
'.modals'
element = page.xpath "//td[@data-bar='hoge'][@data-date='2000-01-01']"