FF Xpather到Nokogiri – 我可以复制和粘贴吗?
我手动这样做,然后我卡住了,我无法弄清楚为什么它不起作用。 我下载了xpather,它给了我:/ html / body / center / table / tbody / tr [3] / td / table作为我想要的项目的路径。 我已经手动确认这是正确的,但是当我将其粘贴到我的代码中时,它所做的只是返回nil
这是我的代码:
a = parentdoc.at_xpath("//html/body/center/table/tbody/tr[3]/td/table[1]") puts a
如果我做这样的事情:
a = parentdoc.at_xpath("//html/body/center") puts a
我从页面上获得了大量文本。 我可以继续添加元素,直到我点击tbody然后再次返回nil。 我甚至尝试过类似的东西:// html / body / center / table / * / tr [3]并返回nil做同样的事情
我错过了什么?
您的问题是Firefox正在插入HTML中不存在的
元素。 当您使用xpather时,它正在使用浏览器正在使用的HTML(而不是ycombinator.com返回的原始HTML)并找到此路径:
//html/body/center/table/tbody/tr[3]/td/table
Nokogiri将使用原始HTML,所以你想要这个
//html/body/center/table/tr[3]/td/table
当我将XPath应用于您的评论中的URL时:
doc.at_xpath('//html/body/center/table/tr[3]/td/table').text
我得到这个输出:
"csoghoian 1 hour ago | link | parent2 responses:1. Chrome is the only major browser not to ...