tags

[3]

ruby からシェルプログラムを呼び出す

● ruby からシェルプログラムを呼び出す

ruby からシェルプログラムを呼び出すにはバッククォートでコマンドを囲みます。

`ls -la`

● ruby から変数を展開してシェルプログラムを呼び出す

コマンド内に変数を渡したい場合は次のようにして展開します

`echo #{text} | pbcopy`
No.1128
04/14 14:29

edit

ruby 文字列の置換 正規表現

● ruby 文字列の置換 正規表現

例: 先頭の TITLE を title に変換します

str.sub(/^TITLE/, "title")
No.1127
04/14 11:41

edit

ruby で selenium を動作させようとしたときに「Unable to find chromedriver」というエラーが出る場合の対処方法

ruby で selenium を動作させようとしたときに

selenium/webdriver/common/service.rb:59:in `binary_path':  Unable to find chromedriver

というエラーが出る場合があります。

● chromedriver をruby のパスと同じディレクトリにいれる

1. chromedriverをダウンロードする

https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver

2. 解凍したchromedriverをwhich ruby のパスと同じディレクトリにいれる

which ruby
/Users/XXXXX/.rbenv/shims/ruby/

この場合 /Users/XXXXX/.rbenv/shims/ruby/chromedriver にくるようにコピーします。

● 通っているパスを調べてそれらのパスのどこかにコピーする

echo $PATH

例)返り値が

/usr/bin:/bin:/usr/sbin:/sbin

の場合は

/usr/bin
/bin
/usr/sbin
/sbin

のどこかにコピーすればokです。

No.1125
05/07 19:37

edit

Selenium

No.1124
04/13 23:01

edit

macのruby( selenium )でブラウザを自動運転する

● Macでのruby環境を整える

● Xcode インストール

Mac App Store等でインストールします。

● Command Line Tools for Xcodeのインストール

Xcodeを起動して

Xcode → Open Developer Tool → More Developer Tools ...

を選択。 一覧から「Command Line Tools(OS X 12.xx) for Xcode」をダウンロードしてインストールする

● homebrewと便利なパッケージをインストール

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
source .bash_profile
brew update
brew install git
brew install readline

brew install ruby-build
brew install rbenv

● path設定

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> .bash_profile
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
source .bash_profile

● rubyのインストール

rbenv install 2.4.1
rbenv global 2.4.1
rbenv versions
ruby -v

● Seleniumのインストール

gem install selenium-webdriver

● Seleniumドライバ(firefox)

https://github.com/mozilla/geckodriver/releases
からインストール

● Seleniumドライバ(chrome)

以下のコマンドでインストールする

brew install chromedriver

● Ruby Seleniumのテクニック(おすすめ)

seleniumノウハウ - momota.txt

http://abgata20000.hateblo.jp/entry/2014/02/04/204840

No.1084
06/02 10:10

edit

Selenium

Rubyで現在時刻を表示する

Rubyで現在時刻を表示する

require 'date'
puts Date.today				# 2017-04-01
puts Date.today.to_time		# 2017-04-01 00:00:00 +0900
puts Time.now				# 2017-04-01 10:13:53 +0900

#  2017/04/01 10:13:53
time = DateTime.now
printf("%04d/%02d/%02d %02d:%02d:%02d\n",time.year, time.month, time.day, time.hour, time.min ,time.sec)
No.1083
01/31 10:59

edit

Rubyのwatirでブラウザを操作する

watir/watir: Watir Powered By Selenium

● watirのインストール

gem install watir
gem install watir-webdriver

● watirのでGoogleにログインする

require "rubygems"
require "watir"

email         = "xxx@yyy.zzz"
password = "ppppppppp"

browser = Watir::Browser.new :chrome
browser.goto("https://accounts.google.com/servicelogin?hl=ja#identifier")

element = browser.text_field(:name, "Email")
element.flash
element.value = email

element = browser.button(css:"#next")
element.flash
element.click

browser.div(css:"#signIn").wait_while_present

element = browser.text_field(:name, "Passwd")
element.flash
element.value = password

element = browser.button(css:"#signIn")
element.flash
element.click

browser.wait # ブラウザの読込完了まで待機
puts browser.url

● Watir Webdriver Cheatsheet

http://bit.ly/2i0ypke

● Watir firefox add-on

https://addons.mozilla.org/ja/firefox/tag/watir

● 参考

http://alpha-netzilla.blogspot.jp/2014/09/selenium.html http://momota.github.io/blog/2016/05/28/selenium-know-how/

No.1076
04/14 09:43

edit

Selenium

rubyの実行にかかった時間を計測する

rubyの実行にかかった時間を計測するにはBenckmarkライブラリを使用すると簡単です。

require 'benchmark'

result = Benchmark.realtime do
  # なんらかの処理をここに記述
  # なんらかの処理をここに記述
  # なんらかの処理をここに記述
end
puts "処理概要 #{result}s"
No.1071
12/29 20:29

edit