我正在尝试使用 Nokogiri 从网页获取定义的规范链接:
<link rel="canonical" href="https://test.com/somepage">
这是我要查找的href
。
无论我尝试什么,它似乎都不起作用。这是我的:
page = Nokogiri::HTML.parse(browser.html)
canon = page.xpath('//canonical/@href')
puts canon
这不会返回任何内容,甚至不会返回错误。
最佳答案
您正在尝试获取属性,但您不是这样做的。
你可以使用这个:
page.xpath('//link[@rel="canonical"]/@href')
它说的是:在文档中的任何位置给我一个链接元素,该元素具有等于 "canonical"
的 rel
属性,当您找到该节点时,给我它的 href
属性。
完整的答案是:
page = Nokogiri::HTML.parse(browser.html)
canon = page.xpath('//link[@rel="canonical"]/@href')
puts canon
您尝试做的是获取一个称为“规范”的节点,而不是属性。
关于html - 如何使用 Nokogiri 从 HTML head 获取规范链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40639378/