在Nokogiri中使用XPath选择元素属性值

rub*_*en1 7 ruby xpath nokogiri

所以,如果我有这段代码

<body>
  <div class="red">
    <a href="http://www.example.com>Example</a>
  </div>
</body>
Run Code Online (Sandbox Code Playgroud)

我知道我想获得一个属性为"class"且值为"red"的元素,但我不知道它位于何处.

如果我使用XPath,这段代码是对的吗?

dir = "http://www.domain.com"
doc = Nokogiri::HTML(open(url))
doc.xpath('.//*[class="red"]')
Run Code Online (Sandbox Code Playgroud)

我刚刚学习,所以我不知道这是否有任何错误.我不能让它发挥作用.谢谢.

编辑:现在它正在工作=)

doc.xpath('//*[@class="red"]')
Run Code Online (Sandbox Code Playgroud)

小智 10

将类更改为@class.在开头删除点.然后它会工作.