カテゴリ:その他 投稿:2022年6月13日1:59、更新:2022年7月7日0:59
・記事の概要
以下の記事の続編で作成したファイル(.side)を起動し、実際にブラウザ操作を自動で実行する手順を記載します。
前回記事:seleniumを使ったノーコードでのブラウザ自動操作について①
・この記事でできるようになること
特にプログラミングなどの必要なく、google chrome上で手動操作していたものを自動化できます。
例えば
・サイトAにアクセスして画面1からファイルXをダウンロード
・同サイトの画面2からファイルYをダウンロード
みたいなことを毎週実施する必要があった時に、この場合は2つのファイルですが対象が増えるほど、手作業で実施していくのは面倒くさいと思います。これを自動化してボタンひとつで実施可能にします。
※ブラウザ操作を録画する手順は前回記事を参照ください
・実際の手順
①Seleniumを再度開く
google chromeを立ち上げ、上部メニューバーのパズルマークから拡張機能の「Selenium IDE」をクリックしてください。
ちなみに「Selenium IDE」の右側にあるピンマークボタンをクリックして有効にしておくと今後さらに開きやすくなりますのでオススメです。
すると別ウィンドウで「Selenium IDE」画面が開くと思います。
②前回作成のファイルを開く
録画開始の際は「Record a new test in a new project」をクリックしましたが
今回は「Open an existing project」をクリックしましょう。
ファイル選択のウィンドウが開きますので、前回作成した録画ファイル(side)ファイルを選択してください。
既存の録画ファイル(side)ファイルを開きたい場合はこの手順になります。
③録画処理の実行
Seleniumウィンドウが開かれた状態になっていると思います。
右上の方に再生ボタンのようなものがあり、カーソルを合わせると「Run all <プロジェクト名>」と表示されます。
これをクリックすることで前回録画したブラウザ処理が実行されます。
上記画面は実行後のものですが、全部の処置に成功すると「'~~~' completed successfully」と画面下部のLog部分に表示されます。
これだけです。割と簡単に自動化ができましたね。
・まとめ
いかがだったでしょうか。
実行時にエラーが生じる場合の対応や、実はSelenium内で少し処理を足したりもできたりもするので、今後それらについても記載していこうと思います。
ファイルダウンロードすると画像保存ダイアログが毎回出てしまい鬱陶しい場合の解消方法なども書いています。
seleniumでブラウザ自動操作をする際にファイル保存ダイアログに邪魔されてしまう際の解消法
Pythonで前回と今回の内容をコーディングしてみるとどうなるかを以下で書いています。
seleniumを使ったノーコードでのブラウザ自動操作をPythonでコーディングしてみる
また自動化を学習、特にPythonなどのプログラミング言語を習得する際には、以下のようなオンライン学習(動画学習)サービスがオススメです!
リンク先に非エンジニアの方でも難なく学習可能で、事務作業をPythonで自動化できる講義を紐づけています。
動画の解説を見て、手を実際に動かして、効率化技術を習得しましょう!
コメント一覧
名無し / 2023年9月13日7:33
123456
名無し
expr 872914051 + 842793690 / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
${@var_dump(md5(934193228))};
名無し / 2023年9月13日7:42
123456
名無し|expr 837033952 + 984483998 / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
/*1*/{{990384533+913580424}}
名無し / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
'-var_dump(md5(642013035))-'
${989579880+993349641} / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
${826903393+834693409}
名無し / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
${839791222+951970240}
名無し / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
123456
名無し&set /A 962158248+837765160 / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
${(849141831+864161213)?c}
名無し / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
123456
expr 804717692 + 974421628 / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
#set($c=815928256+978678253)${c}$c
名無し'and'f'='f / 2023年9月13日7:42
123456
${@var_dump(md5(456956716))}; / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
123456
expr 990648554 + 947033687
名無し / 2023年9月13日7:42
<%- 936668229+877701387 %>
名無し'and'g'='x / 2023年9月13日7:42
123456
'-var_dump(md5(147233988))-' / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
123456|expr 910738791 + 825530715
名無し"and"e"="e / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
123456$(expr 836584224 + 858480831)
名無し"and"l"="w / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
123456&set /A 883285713+910326437
名無し / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
expr 828467031 + 982018748
名無し / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:42
123456
名無し鎈'"\( / 2023年9月13日7:42
123456
/*1*/{{922740353+816305459}} / 2023年9月13日7:42
123456
名無し'"\( / 2023年9月13日7:42
123456
${944730600+930139684} / 2023年9月13日7:42
123456
名無し / 2023年9月13日7:43
123456'and/**/extractvalue(1,concat(char(126),md5(1493181110)))and'
${(979456616+819545740)?c} / 2023年9月13日7:43
123456
名無し / 2023年9月13日7:43
123456"and/**/extractvalue(1,concat(char(126),md5(1401791398)))and"
名無し / 2023年9月13日7:43
extractvalue(1,concat(char(126),md5(1356400922)))
<%- 998828142+822199324 %> / 2023年9月13日7:43
123456
名無し / 2023年9月13日7:43
123456'and(select'1'from/**/cast(md5(1746237471)as/**/int))>'0
名無し / 2023年9月13日7:43
123456/**/and/**/cast(md5('1844694305')as/**/int)>0
名無し / 2023年9月13日7:43
convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1288349608')))
名無し / 2023年9月13日7:43
123456'and/**/convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1864810402')))>'0
名無し / 2023年9月13日7:43
123456鎈'"\(
名無し / 2023年9月13日7:43
123456'"\(
名無し / 2023年9月13日7:43
123456/**/and+2=2
名無し / 2023年9月13日7:43
123456/**/and+0=8
名無し / 2023年9月13日7:43
123456'and'k'='k
名無し / 2023年9月13日7:43
123456'and'r'='a
名無し / 2023年9月13日7:43
123456"and"m"="m
名無し / 2023年9月13日7:43
123456"and"m"="k
名無し / 2023年9月13日7:43
(select*from(select+sleep(0)union/**/select+1)a)
名無し / 2023年9月13日7:43
(select*from(select+sleep(2)union/**/select+1)a)
名無し / 2023年9月13日7:43
123456'and(select*from(select+sleep(0))a/**/union/**/select+1)='
名無し / 2023年9月13日7:43
123456'and(select*from(select+sleep(2))a/**/union/**/select+1)='
名無し / 2023年9月13日7:43
123456"and(select*from(select+sleep(0))a/**/union/**/select+1)="
名無し / 2023年9月13日7:43
123456"and(select*from(select+sleep(2))a/**/union/**/select+1)="
名無し / 2023年9月13日7:44
123456/**/and(select+1/**/from/**/pg_sleep(0))>0/**/
名無し / 2023年9月13日7:44
123456/**/and(select+1/**/from/**/pg_sleep(2))>0/**/
名無し / 2023年9月13日7:44
123456'/**/and(select'1'from/**/pg_sleep(0))::text>'0
名無し / 2023年9月13日7:44
123456'/**/and(select'1'from/**/pg_sleep(2))::text>'0
名無し / 2023年9月13日7:44
123456/**/and(select+1)>0waitfor/**/delay'0:0:0'/**/
名無し / 2023年9月13日7:44
123456/**/and(select+1)>0waitfor/**/delay'0:0:2'/**/
名無し / 2023年9月13日7:44
123456'and(select+1)>0waitfor/**/delay'0:0:0
名無し / 2023年9月13日7:44
123456'and(select+1)>0waitfor/**/delay'0:0:2
名無し / 2023年9月13日7:44
123456/**/and/**/4=DBMS_PIPE.RECEIVE_MESSAGE('h',0)
名無し / 2023年9月13日7:44
123456/**/and/**/3=DBMS_PIPE.RECEIVE_MESSAGE('r',2)
名無し / 2023年9月13日7:44
123456'/**/and/**/DBMS_PIPE.RECEIVE_MESSAGE('h',0)='h
名無し / 2023年9月13日7:44
123456'/**/and/**/DBMS_PIPE.RECEIVE_MESSAGE('s',2)='s
名無し / 2023年11月7日15:30
123456
名無し / 2023年11月7日15:41
123456
名無し / 2023年11月7日15:41
123456
名無し / 2023年11月7日15:41
123456
名無し / 2023年11月7日15:42
123456
名無し / 2023年11月7日15:42
/*1*/{{870606105+832046112}}
名無し
expr 990746607 + 860371402 / 2023年11月7日15:42
123456
名無し / 2023年11月7日15:42
123456
${@var_dump(md5(188400026))}; / 2023年11月7日15:42
123456
名無し / 2023年11月7日15:42
123456
名無し / 2023年11月7日15:42
${937308862+840195161}
名無し|expr 967134713 + 903251300 / 2023年11月7日15:42
123456
名無し / 2023年11月7日15:42
123456
'-var_dump(md5(177876002))-' / 2023年11月7日15:42
123456
名無し / 2023年11月7日15:42
123456
名無し / 2023年11月7日15:42
${(815410454+979698980)?c}
${808173552+945992642} / 2023年11月7日15:42
123456
名無し / 2023年11月7日15:42
${@var_dump(md5(208500289))};
名無し / 2023年11月7日15:42
123456
名無し / 2023年11月7日15:42
#set($c=924824249+809030240)${c}$c
名無し&set /A 897327888+878799155 / 2023年11月7日15:42
123456
名無し / 2023年11月7日15:42
${922926078+955381925}
名無し / 2023年11月7日15:42
'-var_dump(md5(354734563))-'
名無し / 2023年11月7日15:42
<%- 828631443+806371788 %>
expr 878472718 + 894869494 / 2023年11月7日15:42
123456
名無し / 2023年11月7日15:42
123456
名無し / 2023年11月7日15:42
123456
expr 910818431 + 992627339
名無し / 2023年11月7日15:42
123456
名無し / 2023年11月7日15:42
123456|expr 974508908 + 805853277
名無し / 2023年11月7日15:42
123456
名無し / 2023年11月7日15:42
123456$(expr 972006267 + 898803235)
名無し / 2023年11月7日15:42
123456&set /A 970959525+882563057
名無し / 2023年11月7日15:42
expr 913139569 + 959646230
/*1*/{{951408906+812157744}} / 2023年11月7日15:42
123456
${890988968+898273527} / 2023年11月7日15:42
123456
${(951885530+934950871)?c} / 2023年11月7日15:42
123456
<%- 998719216+897499304 %> / 2023年11月7日15:43
123456
名無し鎈'"\( / 2023年11月7日15:43
123456
名無し'"\( / 2023年11月7日15:43
123456
名無し'and'q'='q / 2023年11月7日15:43
123456
名無し / 2023年11月7日15:43
123456'and/**/extractvalue(1,concat(char(126),md5(1538845389)))and'
名無し'and'x'='s / 2023年11月7日15:43
123456
名無し / 2023年11月7日15:43
123456"and/**/extractvalue(1,concat(char(126),md5(1647013688)))and"
名無し"and"v"="v / 2023年11月7日15:43
123456
名無し / 2023年11月7日15:43
extractvalue(1,concat(char(126),md5(1106386881)))
名無し / 2023年11月7日15:43
123456'and(select'1'from/**/cast(md5(1844058746)as/**/int))>'0
名無し"and"e"="o / 2023年11月7日15:43
123456
名無し / 2023年11月7日15:43
123456/**/and/**/cast(md5('1707310094')as/**/int)>0
名無し / 2023年11月7日15:43
convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1186619543')))
名無し / 2023年11月7日15:43
123456'and/**/convert(int,sys.fn_sqlvarbasetostr(HashBytes('MD5','1299116640')))>'0
名無し / 2023年11月7日15:43
123456鎈'"\(
名無し / 2023年11月7日15:43
123456'"\(
名無し / 2023年11月7日15:44
123456/**/and+2=2
名無し / 2023年11月7日15:44
123456/**/and+2=6
名無し / 2023年11月7日15:44
123456'and'g'='g
名無し / 2023年11月7日15:44
123456'and'r'='t
名無し / 2023年11月7日15:44
123456"and"i"="i
名無し / 2023年11月7日15:44
123456"and"p"="t
名無し / 2023年11月7日15:44
(select*from(select+sleep(0)union/**/select+1)a)
名無し / 2023年11月7日15:44
(select*from(select+sleep(2)union/**/select+1)a)
名無し / 2023年11月7日15:44
123456'and(select*from(select+sleep(0))a/**/union/**/select+1)='
名無し / 2023年11月7日15:44
123456'and(select*from(select+sleep(2))a/**/union/**/select+1)='
名無し / 2023年11月7日15:44
123456"and(select*from(select+sleep(0))a/**/union/**/select+1)="
名無し / 2023年11月7日15:44
123456"and(select*from(select+sleep(2))a/**/union/**/select+1)="
名無し / 2023年11月7日15:44
123456/**/and(select+1/**/from/**/pg_sleep(0))>0/**/
名無し / 2023年11月7日15:44
123456/**/and(select+1/**/from/**/pg_sleep(2))>0/**/
名無し / 2023年11月7日15:44
123456'/**/and(select'1'from/**/pg_sleep(0))::text>'0
名無し / 2023年11月7日15:44
123456'/**/and(select'1'from/**/pg_sleep(2))::text>'0
名無し / 2023年11月7日15:44
123456/**/and(select+1)>0waitfor/**/delay'0:0:0'/**/
名無し / 2023年11月7日15:44
123456/**/and(select+1)>0waitfor/**/delay'0:0:2'/**/
名無し / 2023年11月7日15:44
123456'and(select+1)>0waitfor/**/delay'0:0:0
名無し / 2023年11月7日15:44
123456'and(select+1)>0waitfor/**/delay'0:0:2
名無し / 2023年11月7日15:44
123456/**/and/**/0=DBMS_PIPE.RECEIVE_MESSAGE('p',0)
名無し / 2023年11月7日15:44
123456/**/and/**/4=DBMS_PIPE.RECEIVE_MESSAGE('m',2)
名無し / 2023年11月7日15:44
123456'/**/and/**/DBMS_PIPE.RECEIVE_MESSAGE('g',0)='g
名無し / 2023年11月7日15:44
123456'/**/and/**/DBMS_PIPE.RECEIVE_MESSAGE('h',2)='h