6

Nokogiriは以下のように使用しました:

require 'nokogiri'
require 'open-uri'

# Get a Nokogiri::HTML::Document for the page we’re interested in...

doc = Nokogiri::HTML(open('http://www.google.com/search?q=sparklemotion'))

しかし、会社のファイアウォールが原因で、エラーが発生する可能性があります。

C:/Ruby193/lib/ruby/1.9.1/net/http.rb:762:in `initialize': getaddrinfo: No such
host is known.  (SocketError)

したがって、私はWeb ページのソースselenium-webdriverをナビゲートしnokogiriて作業するために使用すると考えましたhtml

require "rubygems"
require "selenium-webdriver"

driver = Selenium::WebDriver.for :firefox
driver.get "http://www.google.com/search?q=sparklemotion"

では、ここでどのように Web ページのコンテンツ (html) を に渡すのでしょうnokogiriか?

ここで私に提案してください。

4

1 に答える 1

13

page_source次のメソッドを使用して、selenium-webdriver からページのソースを取得できます。

driver.page_source

したがって、スクリプトは次のようになります。

require 'selenium-webdriver'
require 'nokogiri'

driver = Selenium::WebDriver.for :firefox
driver.get "http://www.google.com/"

doc = Nokogiri::HTML(driver.page_source)
# Do whatever with nokogiri

とはいえ、なぜあなたが単に selenium-webdriver の代わりに nokogiri を使いたいのかわかりません。

于 2013-01-23T21:08:04.403 に答える