バッファローのブロードバンドルータの設定を例にします。
Yamahaのルータはコマンドが使えるけど、安いルータはブラウザで設定するしかない。もしかして、安いルータもLinuxなので裏技ありますかね?
ブラウザの操作を自動化したくて、SikuliXを使った。
キーボード操作は、typeを使う。
- ファイル名を指定して実行は、Windowsキー+rはtype(“”,Key.WIN)
- 貼り付けは、paste(“chrome”)。結果的にchromeを入力と同等。
- 改行は、改行コードを入れる。type(“\n”)
- Chromeのアドレスバーは、type(“l”,Key.CTRL)。ここを参照。
- passという文字列を入力、type(“pass”)
ある画像があるかどうか待つ、exists(画像,待つ秒数)
ある画像をクリックする、click(画像)
秒数待つ、wait(秒数)
if 条件文:
TAB文字 コマンド
else:
TAB文字 コマンド
空白文字が左に無いとIf文を抜けることになる。
Regionはある範囲の変数として登録できる。ここではr1変数
withを使って範囲内の処理にする
with 範囲変数: TABキー コマンド
か以下のように使う。
もし、riのレンジ(範囲)にぺけ✕マークが無かったらエラーになる。その場合は、
if ri.exists(✕画像)を使う。画像があるかないかで実行を分岐します。これ便利。エラー防止できるね。待ち時間を追加もできる。ri.exists(画像,秒数)。当然、ディスクトップ全体exists(画像,秒数)も使えます。
コピペすると画像部分はファイル名になります。
type("r", Key.WIN)
paste("chrome")
type("\n")
wait(1)
type("l",Key.CTRL)
paste("192.168.11.1")
type("\n")
exists("1588775045755.png",8)
click("1588775045755.png")
type("pass")
type("\n")
exists("1588776243359.png",15)
click("1588776243359.png")
wait(8)
exists("1588776486229.png",3)
click("1588776486229.png")
exists("1588776523376.png",2)
click("1588776523376.png")
wait(2)
if exists("1588776582583.png",2):
click("1588776582583.png")
else:
click("1588776773718.png")
wait(11)
click("1588776816413.png")
r1=Region(1364,0,236,43)
r1.click("1588776847092.png")