Selenium IDEを使った単純作業の爆速自動化

Selenium
この記事は約9分で読めます。

Selenium IDEとはブラウザの操作/テストを自動化するツールです。
簡単に設定/利用可能なので、非エンジニアの方でもすぐに日々の業務を効率化できます。
単純作業であれば0から1日で自動化も全然可能です!

この記事を使ってみなさんの日々の業務が爆速で片付くことに役に立てれば幸いです。

◆Selenium IDE
公式サイト
公式ドキュメント

Selenium IDEとSeleniumとの違い、特徴は?

通常のSeleniumであれば必要なライブラリをインストールしたり、
アカウントの設定などをするとしたらプロファイルをうまいこと使ったりと最初の環境構築のハードルがあります。

ただ、Selenium IDEであれば拡張機能をインストールしたすぐ後から利用することが可能です。

それでも対応しているブラウザが2つしか無かったり書き方が独特だったり、
すべでのケースで利用できるかと言われるとそういうわけではないので注意してください。

Selenium IDEのメリット

・インストールなどの環境構築の手間がない
・数個のコマンドを覚えるだけで利用が可能(学習コストが低い)
・ファイルを渡せばそのまま他の人も利用可能

Selenium IDEのデメリット

・書き方が少し独特
・何かと連携とかは難しそう
・コメントというコメントが書けない(書けなくもない)

Selenium IDEのの対応ブラウザ

・Google Chrome
・FireFox
(2023年3月23日時点)

Selenium IDEの初期設定方法

公式サイト、もしくは拡張機能でSelenium IDEを検索してブラウザに拡張機能/アドオンを追加します。

◆公式サイト
https://www.selenium.dev/selenium-ide/

追加ができたら設定は完了です。

Selenium IDEの基本的な使い方1

全コマンドの一覧は、公式のドキュメントかもしくは
Qiitaに日本語で説明してくださっている記事があるのでそちらを参考にしてください。

◆Selenium IDE コマンドリファレンス (2019/09版 : Selenium IDE v3.12.0 [全96コマンドを徹底解説])

Selenium IDE コマンドリファレンス (2019/09版 : Selenium IDE v3.12.0 [全96コマンドを徹底解説]) - Qiita
はじめに10分でわかるブラウザ処理自動化!初心者向けSelenium IDE入門ガイドでSelenium IDEを使い始めるためのガイドを書きました。そこでは、条件分岐やループ処理など一部のコマ…

ただ、全部覚えるのは大変だという方、基本/入門として何をすればいいのかを知りたい方は以降の記事を参考にしていただければと思います。

基本の起動方法

1. Selenium IDEを起動する

2. Create New Projectからプロジェクトを作成

3. 適当なプロジェクト名で作成する

4. プロジェクト内にテストケースがあるので名称を3点リーダー>Renameから変更

5. プロジェクト内にテストケースを追加する

6. 一番最初に起動するURLを指定する

操作を記録して実行する

要素が移動しないようなページで自動化を行う際には、命令をほぼ書かずに自動記録だけで対応できます。

1. 右上あたりにあるRECを押して起動
※初期画面を設定していなかったら初期画面の定義入力欄が出るので入力してください

2. 起動したブラウザで記録したい操作を行って終了したら右上の■で止める

3. 左上あたりにある再生マーク(▶︎)から今記録した操作が自動で再生されます!

4. 速度の調整
上部にある時計マークをクリックして表示されたバーを利用して調整ができます。
あんまり早すぎると攻撃と判定されたりものによってはサーバ側に負荷がかかるので少し遅めぐらいで設定しておきましょう。

Selenium IDEの基本的な使い方2

先ほどのまでの操作は出てくる画面が同じだった場合や、1回だけの処理であれば問題ないですが
テストではなく自動化をするといえば異なった条件で複数回の実行がやりたいと思います。
そうなってくるとやはりプログラムちっくなことをしないとならないです。

そこで、初心者でもここだけ理解していればすぐに自動化できる!というものをまとめました。
是非参考にしていただければと思います。

変数の定義

使う際には${price}のように利用します。
例) priceという変数に100を入れる

Command Target Value
store 100 price

クリックする

最悪xpathがよくわからなくても、xpath=//*[text()=”XXX”]のXXXの箇所を変えればテキストでの判定はできるので参考にしてみてください!

例) 保存というテキストが書かれたボタンを押す(xpath指定)

Command Target Value
click xpath=//*[text()=”保存”]

画面を開く

例) Yahooの画面を開く

Command Target Value
open https://yahoo.co.jp

テキスト/文字を入力する

例) idがuser_nameの欄に名前を入力
※追記なので注意

Command Target Value
type xpath=//*[id=”user_name”] 田中太郎

if文の書き方

例)要素の存在チェックをした上で処理するかどうか判定する

Command Target Value
store count xpath xpath=//*[id=”user_name”] uesr_name_count
if ${uesr_name_count}>0
type xpath=//*[id=”user_name”] 田中太郎
end

foreachの書き方(配列を使ったループ)

例)配列の定義

Command Target Value
exec script return [1,2,3,4,5] numbers

例) URLの一部を変えてループ処理

Command Target Value
exec script return [1,2,3,4,5] numbers
for each numbers number
open https://a.com?id=${number}
end

スリープの入れ方

pause(sleep)
ミリ秒で指定が可能
例) 2秒ポーズ(スリープ)

Command Target Value
pause 2000

最後に

もちろんたくさんの機能があって色々できるのですが、
ここに書いてある処理を覚えれば簡単な自動化ならだれで可能かと思います。
ちなみに、多少Seleniumを触ったことがある私が触ったところ0から30分程度で最初の自動化ができました。

非エンジニアの人でもここに書いてあることを理解すればどうにかなると思うので、
是非ためしてみてください。

もうエンジニアなりたての頃のことを覚えていないので、
もしかしたら本当に初めてだとif文とかfor文でつまづくかもしれないですが、
それでもどんなにかかっても1週間あればできると思うのでがんばりましょう!

それでは素晴らしい自動化ライフを!

コメント