【发布时间】:2015-05-14 18:51:50
【问题描述】:
我正在编写我的 ruby (2.0) 脚本,该脚本可以读取网页并且运行良好。然后我安装了 ruby 2.2,突然我的 nokogiri 停止搜索子标签,但不是全部。它仍然会找到一些子标签,而有些不仅仅是在同一个脚本中找到。 我恢复到 1.9 但它仍然在做同样的事情。目前我已经安装了 ruby 2.1.6。我正在使用 Watir-webdriver 和 open-uri 加载页面。以下页面正在被 open-uri 打开。
例如,这是我的代码:
htmlPage = '<html>
<head></head>
<body>
<table width="100%" border="1">
<tbody>
<tr valign="top">
<td width="38%" bgcolor="#EFEFEF">
<b>
<font size="4">NPL Listing History</font>
</b>
</td>
<td width="62%" bgcolor="#EFEFEF">
<b>
<font size="4">Dates</font>
</b>
</td>
</tr>
</tbody>
</table>
</body>
<html>'
page = Nokogiri::HTML(htmlPage)
puts page.css("table [border='1']")
这应该让我得到带有边框 1 的表格,但我得到 nil/null。
我做错了吗?还是我错过了什么?
谢谢!
【问题讨论】:
-
您的选择器说“获取所有具有
bgcolor属性等于#FFFFFF并且是body的子元素的元素。”如果您只想要整个身体,请使用选择器body。 -
好吧,不好的例子!我会改变它。我想要的是带有边框 = 1 的表格,@Jordan
-
欢迎来到 Stack Overflow。不要将我们指向一个页面,而是将 HTML 减少到复制您所看到的问题所需的最低限度。 当该 URL 失效时,该问题将没有意义或对其他人有用。页面中嵌入的最小 HTML 不会发生。而且,要求我们追踪 URL 并浏览完整的 HTML 页面只会减慢我们帮助您的能力,因此请帮助我们帮助您并将我们需要的内容放在问题本身中。有关详细信息,请参阅“How to create a Minimal, Complete, and Verifiable example”。