#author("2017-08-09T13:35:38+09:00","default:yakumo_murakami","yakumo_murakami")
[[Ruby]]
headlessを使うと、いちいちウインドウを開かずにseleniumで自動運転できるの。いろいろと便利よ。
うちで試したものをそのまま掲載しておくわ。
ちなみに内容は、以下。
- Googleトップページを開く。
- 「愛してますをエスペラント語で」を検索語にセット。
- Submitして、検索結果の最初のページを最後まで取り込む。
- スクリーンショットとソースを保存する。
#!/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