我正在尝试将从phantom js生成的html插入到一个mechanize对象中,以便可以轻松地搜索它我试过以下方法,但没有成功。。。
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)
正如我想的那样,我开始怀疑我是否可以机械化现有的HTML对象…我最初是通过:http://shane.in/2014/01/headless-web-scraping/&http://watirmelon.com/2013/02/05/watir-webdriver-with-ghostdriver-on-osx-headless-browser-testing/
最佳答案
我也遇到过同样的情况我用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)
您可以使用页面来搜索元素。
关于ruby - 与watir + phantomjs一起使用机械化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26879838/