rubygemづくりの為のselenium実験

やったこと

  • rubygemづくり
  • テーマ、海外の人が好きそうな漢字をslack絵文字に登録するgem
  • webの操作にseleniumを試す

selenium実験

slackカスタムページの表示、ログインはできた。 inputタグの取得と画像のアップロードが未達。

require 'selenium-webdriver'
#chrome用で
driver = Selenium::WebDriver.for :chrome

#DOMが生成されるまで読み込みを待つ
driver.manage.timeouts.implicit_wait = 10

#カスタム絵文字のページへ
work_space_name = "hoge-kuri"
driver.navigate.to "https://#{work_space_name}.slack.com/customize/emoji"

email = "hoge@gmail.com"
password = "hoge1234"

#loginする
driver.find_element(:id, "email").send_keys(email)
driver.find_element(:id, "password").send_keys(password)
driver.find_element(:id, "signin_btn").click

#inputタグを拾う
emoji_img = driver.find_element(:id, "emojiimg")
emoji_name = driver.find_element(:id, "emojiname")

text = "hoge"
img = "/images/test.png"

emoji_img.send_keys(img_path)
emoji_name.send_keys(text)

まとめ

nokogiriは使った事があったがseleniumは初。簡単にウェブページを操作出来てのめりこんだ。やり過ぎてBANされないように適宜sleepなどを使ってサーバーに負荷をかけないように気をつける。 DOMが動的に変化する場所のセレクトが上手くいかなかった。そこを改善していきたい。