【发布时间】:2017-01-18 06:25:59
【问题描述】:
我正在使用 Ruby、Selenium WebDriver 和 Nokogiri 从网页中检索数据。加载正确的 HTML 后,我会打印某个类的内容。
例如,
require "selenium-webdriver"
require "nokogiri"
browser = Selenium::WebDriver.for :chrome
browser.get "https://jsfiddle.net"
doc = Nokogiri::HTML.parse(browser.page_source)
doc.css('.aiButton').map(&:text).join(',')
到目前为止,我发现最难的部分是正确加载正确的 HTML。例如,我想要的内容可能被某些 javascript 隐藏,或者可能在不同的页面上。
是否可以使用 Selenium 加载页面,然后手动操作页面以显示正确的 HTML,然后然后允许机器人完成并打印它应该完成的内容? p>
【问题讨论】:
-
简短的回答是肯定的。 Selenium 将在您的 GUI 中打开一个浏览器,并且在您的脚本完成之前它将保持打开状态。
标签: ruby selenium webdriver nokogiri screen-scraping