我使用机械化加载了一个页面:
url = 'http://www.blah.com'
agent = Mechanize.new
page = agent.get(url)
并尝试使用 XPath 选择器访问元素:
found = page.at('/html/body/table')
它返回nil
是因为我无法控制的 HTML 有一个不应该出现的开始标签:
<html>
<body>
<tr>
<table>
. . .
当浏览器在现实生活中呈现页面时,Firefox 称之为“流浪开始标记”,它会被忽略(并且 Firefox 给了我忽略它的 xpaths),但是 Nokogiri 看不到任何超出这个额外的<tr>
.
有没有办法像这样清理悬挂标签的HTML?