Ruby

headlessを使うと、いちいちウインドウを開かずにseleniumで自動運転できるの。いろいろと便利よ。

うちで試したものをそのまま掲載しておくわ。

ちなみに内容は、以下。

#!/usr/bin/ruby -EUTF-8

require 'selenium-webdriver'
require 'headless'

page = Hash.new
page["name"] = "webdrivertest"
page["url"] = "http://www.google.co.jp/"

headless = Headless.new
headless.start

driver = Selenium::WebDriver.for(:firefox, :profile => "webdriver")
driver.get page["url"]
driver.find_element(:class,"gsfi").send_key "愛してますをエスペラント語で"
driver.find_element(:name,"btnK").submit 

old = ""
source = ""
old_f = false
counter_max = 6
counter = counter_max
while 1
  sleep 1 # 表示待ち
  source = driver.page_source
  if source != old
    if old != ""
      counter -= 1
      if counter < 1
        p "# TimeOver"
        break
      else
        p "# Change ARI #{counter}"
      end
    end
    old = source.clone
    old_f = false
  else
    if old_f == true
      break
    else
      old_f = true
    end
  end
end

driver.save_screenshot page["name"]+".png"
File.write(page["name"]+".html",source)
driver.quit

headless.destroy

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2017-08-09 (水) 13:35:38