hello-world.jp.net
webエンジニアのメモ。とりあえずやってみる。

[Ruby]seleniumで遊んでみる

公開日時

Selenium で自動化したいことがあったので色々遊んでみました。

その時のメモです。

基本的な使い方は RubyでSeleniumを使ってスクレイピング を参考にさせていただきました。

  • インストール
gem install selenium-webdriver
  • http proxyを使いたい場合
profile = Selenium::WebDriver::Firefox::Profile.new
profile["network.proxy.type"] = 1
profile["network.proxy.http"] = "my-proxy"
profile["network.proxy.http_port"] = 80
driver = Selenium::WebDriver.for(:firefox, :profile => profile)
  • socks proxyを使いたい場合
profile = Selenium::WebDriver::Firefox::Profile.new
profile["network.proxy.type"] = 1
profile["network.proxy.socks"] = "localhost"
profile["network.proxy.socks_port"] = 1080
driver = Selenium::WebDriver.for(:firefox, :profile => profile)
  • ページ読み込み
driver.navigate.to "https://www.google.co.jp"
  • name="sample_selectbox"となっているselect boxの値を1に設定
Selenium::WebDriver::Support::Select.new(driver.find_element(:name, 'sample_selectbox')).select_by(:value, '1')
  • name="sample_input"となっているinput textにtestと入力
driver.find_element(:name, 'sample_input').send_keys('test')
  • name="submit"をクリック
driver.find_element(:name, 'submit').click
  • jsを実行 (アラートを表示)
driver.execute_script("return alert('sample');")

参考


Related #Ruby

[ruby]twitter gemで重複投稿しても例外が発生しない場合

twitterには同じ文言を投稿するとエラーとなり投稿できない仕様があります。

[sinatra][twitter]screen_nameからユーザidを求めるサンプル

twitterのscreen\_nameを元にユーザidを知りたいと思い調べていたところ、

[ruby][twitter]画像付きのツイートをする

twitter apiを使うとapi経由で画像付きのツイートをすることが可能なので簡単なサンプルを作って検証してみました。

The Ruby openssl extension was not compiled. Missing the OpenSSL lib?

RaspberryPi(Raspbian)にrbenvを使ってruby2.1.2をインストールしようとした際に上記エラーが発生しました。