将机械化与 watir + phantomjs 一起使用

Ell*_*nay 1 ruby macos mechanize watir-webdriver phantomjs

我正在尝试将从 phantom js 生成的 html 插入到机械化对象中,以便我可以轻松地搜索它。我试过以下方法无济于事...

b = Watir::Browser.new :phantomjs
url = "www.google.com"
b.goto url

agent = Mechanize.new
#Following is not executed at same time...
#Error 1: lots of errors
page = agent.get(b.html)

#Error 2: `parse': wrong number of arguments (1 for 3) (ArgumentError)
page = agent.parse(b.html)

#Error 3 last ditch effort: undefined method `agent' 
page = agent(b.html)
Run Code Online (Sandbox Code Playgroud)

当我思考它时,我开始怀疑我是否可以机械化现有的 html 对象......我最初是通过以下方式进入它的:http: //shane.in/2014/01/headless-web-scraping/ & http: //watirmelon.com/2013/02/05/watir-webdriver-with-ghostdriver-on-osx-headless-browser-testing/

Ha *_*ham 5

我处于同样的情况。我用 Mechanize 写了很多代码,所以我不想nokogiri在使用watir. 下面的代码是我做的。

require 'watir'
require 'mechanize'

b = Watir::Browser.new
b.goto(url)
html = b.html
a = Mechanize.new
page = Mechanize::Page.new(nil, {'content-type'=>'text/html'}, html, nil, a)
Run Code Online (Sandbox Code Playgroud)

您可以使用 page 来搜索元素。