如何使用Nokogiri从具有两个“数据 - ”属性的元素中获取数据

时间:2016-09-06 01:06:28

标签: ruby xpath nokogiri

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

<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 = page.css("td[data-bar='hoge'][data-date='2000-01-01']")

element.length会返回0

如何区分具有两个data-属性的元素?

1 个答案:

答案 0 :(得分:1)

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

element = page.xpath "//td[@data-bar='hoge'][@data-date='2000-01-01']"

在此示例中,//部分将匹配文档中的任何td元素(具有这些属性),这可能是不可取的。在这种情况下,您需要为节点编写更明确的XPath。

以下是XPath的文档:https://www.w3.org/TR/xpath/