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

[Firefox]Selenium IDEでループを使う

公開日時

twitter APIを使って投稿を行うwebサイトを作ろうとした際に、投稿テストのために毎回手動で投稿するのが手間だったので、 Selenium IDEを使ってブラウザから自動投稿するようにしてみました。

Seleniumはデフォルトだとループは使えませんが、「SelBlocks」プラグインをインストールすることで、forやforeach, whileが使えるようになります。

  • まずはFirefoxを開いて、 Selenium IDEをインストール

  • 続いて「 SelBlocks」をインストール

  • ブラウザ再起動後、「ツール」メニューに「Selenium IDE」が追加されているので起動

  • 録画モードにして通常のつぶやき投稿をやってみる

  • Seleniumの画面に上記の動きのコマンドが表示される

selenium1

  • 「コマンドを挿入」で繰り返したい処理の前にfor文を記述
コマンド:for
対象:i=1; i <= 100; i++
値:i

また、繰り返したい処理の最後にendForを記述

コマンド:endFor

twitterの場合、同じ文言を連続して投稿することができないので、ツイートの文言にループ変数を追加するようにしました。

変数は ${i} で使えます。

selenium2

ループが使えないとループ回数分コードをコピーして使う必要があるので大変でしたが、SelBlocksを使うことで、コードがシンプルになって助かりました。

なお、Twitter公式サイトでSeleniumを使った投稿を試す場合はajaxが使われているので、もっと細かい制御が必要そうでした。

参考


Related #selenium

[mac][ruby]seleniumでchromeを使用する

rubyでselenium-webdriverを使ってchromeを起動しようとしたら以下のようなエラーが

[Ruby]seleniumで遊んでみる

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