2017/10/04(水) [n年前の日記]
#1 [ruby] selenium-webdriverをインストール
Rubyを使ってWebブラウザを自動操作できるらしい selenium-webdriver をインストールして少しだけ試用してみたり。環境は Windows10 x64 + Ruby 2.2.6 p396 mingw32版。
以下、参考ページ。
_指定した複数ウェブサイトのスクリーンショットを自動で撮影(Ruby+Selenium) - Qiita
_Selenium 入門 - Qiita
_WindowsでRubyでSeleniumで自動テストをはじめてみました - YoshinoriN's Memento
_rubyからchrome操作してみた by selenium-webdriver - shoprevのブログ
_RubyでSeleniumを使ってスクレイピング - Qiita
_Webブラウザの自動操作 (Selenium with Rubyの実例集) - Qoosky
以下、参考ページ。
_指定した複数ウェブサイトのスクリーンショットを自動で撮影(Ruby+Selenium) - Qiita
_Selenium 入門 - Qiita
_WindowsでRubyでSeleniumで自動テストをはじめてみました - YoshinoriN's Memento
_rubyからchrome操作してみた by selenium-webdriver - shoprevのブログ
_RubyでSeleniumを使ってスクレイピング - Qiita
_Webブラウザの自動操作 (Selenium with Rubyの実例集) - Qoosky
◎ インストール。 :
DOS窓を開いて以下を打てばインストールされる。
Firefoxを操作する場合は、geckodriver なるものが必要らしい。
_mozilla/geckodriver: WebDriver <-> Marionette proxy
_Releases - mozilla/geckodriver
Releaseから geckodriver-v0.19.0-win64.zip をDLして解凍。中に入ってた geckodriver.exe を、パスが通った場所に置いた。今回は Ruby2.2インストールフォルダ\bin\ 以下に置いてみた。
Google Chrome を操作する場合は、chromedriver なるものが必要らしい。
_Downloads - ChromeDriver - WebDriver for Chrome
chromedriver_win32.zip をDLして解凍。chromedriver.exe を Ruby2.2インストールフォルダ\bin\ 以下に置いてみた。
irb を起動して動作確認。Firefoxを起動して、Googleを開いて、文字列を打ち込んで検索、を行ってみる。
Google Chrome でも同じことをしてみたけれど、エラーがずらずらと出る。Firefox を対象にして自動操作したほうがよさそう。
gem install selenium-webdriverrubyzip, childprocess, selenium-webdriver の3つがインストールされた。
Firefoxを操作する場合は、geckodriver なるものが必要らしい。
_mozilla/geckodriver: WebDriver <-> Marionette proxy
_Releases - mozilla/geckodriver
Releaseから geckodriver-v0.19.0-win64.zip をDLして解凍。中に入ってた geckodriver.exe を、パスが通った場所に置いた。今回は Ruby2.2インストールフォルダ\bin\ 以下に置いてみた。
Google Chrome を操作する場合は、chromedriver なるものが必要らしい。
_Downloads - ChromeDriver - WebDriver for Chrome
chromedriver_win32.zip をDLして解凍。chromedriver.exe を Ruby2.2インストールフォルダ\bin\ 以下に置いてみた。
irb を起動して動作確認。Firefoxを起動して、Googleを開いて、文字列を打ち込んで検索、を行ってみる。
> irb irb(main):003:0> require "selenium-webdriver" => true irb(main):004:0> driver = Selenium::WebDriver.for :firefox => #<Selenium::WebDriver::Firefox::Marionette::Driver:0x916535c browser=:firefox> irb(main):005:0> driver.get "https://www.google.co.jp/"; => {} irb(main):006:0> driver.find_element(:class, "gsfi").send_key "selenium" => {} irb(main):007:0> driver.find_element(:name, "btnK").submit => nil irb(main):008:0> driver.quit => nil irb(main):009:0> exitたしかに Ruby からWebブラウザが操作できた。
Google Chrome でも同じことをしてみたけれど、エラーがずらずらと出る。Firefox を対象にして自動操作したほうがよさそう。
[ ツッコむ ]
以上、1 日分です。