#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

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS