🦔

SafariをRubyとSeleniumで操作してみた

2024/04/06に公開

SafariをRubyとSeleniumで操作した際の手順を記録しておきます。

1.Safariを操作可能にする

Safariを操作可能にするために、「開発」メニューを出してリモートオートメーションを許可します。
Safariはメニューから設定できますが、他のブラウザを操作する場合は個別にドライバをインストールする必要があるようです。

1.1.「開発」メニューを出す

1.2.リモートオートメーションを許可する

2.selenium-webdriverのインストール

gem install selenium-webdriver

3.自動化コードを実行する

#! /usr/bin/env ruby
#
# google検索結果のタイトルのみを取得する

require 'selenium-webdriver'

driver = Selenium::WebDriver.for :safari # 使用するブラウザを選択
driver.navigate.to "http://www.google.com" #URL指定
puts driver.title #ページタイトルを出力

element = driver.find_element(:id, 'APjFqb') # 検索窓指定
element.send_keys('ruby') # 検索キー
element.submit

sleep 3

search = driver.find_element(:id, "search") # 検索結果指定
titles = search.find_elements(:tag_name, "h3") # 複数の検索結果タイトル
titles.each do |t|
  puts t.text # 検索結果のタイトルを出力
end

driver.quit # ブラウザを閉じて終了

Discussion