ruby - Nokogiri 没有从 Watir 加载 "browser"

标签 ruby web-scraping nokogiri watir watir-webdriver

到目前为止我有这个:

require 'watir-webdriver'
require 'date'
require 'nokogiri'

browser = Watir::Browser.start 'https://example/ViewReport.aspx'

browser.link(:text, 'Combined Employee Performance Report').click

today = Date.today
yesterday = today.prev_day.strftime('%m' '%d' '%Y')

t = browser.text_field :id => 'UC255_txtStart'
t.set yesterday

t = browser.text_field :id => 'UC255_txtEnd'
t.set yesterday

btn = browser.button :value, 'Run Report'
btn.exists?
btn.click

page = Nokogiri::HTML.parse('browser')
links = page.css("a")
puts links.length

当我尝试解析 browser(Watir 用于站点 URI 的变量)时,它给我一个空白的 HTML 页面。

最佳答案

问题

当你做的时候

page = Nokogiri::HTML.parse('browser')

您要求 Nokogiri 解析字符串“browser”。

解决方案

你真正要解析的是浏览器中的html。

要获取浏览器的 html,您可以:

browser.html

所以要解析它,你会这样做:

page = Nokogiri::HTML.parse(browser.html)

关于ruby - Nokogiri 没有从 Watir 加载 "browser",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15508285/

相关文章:

ruby-on-rails - Netbeans 上的 Rails : Uncaught exception: no such file to load -- script/server or script/console

ruby-on-rails - Ruby on Rails 教程删除用户在 heroku 上不起作用

mysql - 以十进制形式返回 SQL

python - 无法修改函数以坚持一个工作代理

ruby-on-rails - 如何仅根据 URL 从亚马逊获取产品信息?

javascript - 可靠地抓取股价表

swift - 有没有办法在 Swift 或 RxAlamofire 中退出浏览器 session ?

css - 如何通过 CSS 选择器定位标签,引用兄弟标签的内容?

ruby - Nokogiri递归地得到所有 child

html - Nokogiri Xpath 在 <TD> 和 <SPAN> 内检索 <BR> 之后的文本