Selenium
SeleniumでWebアプリの簡単な自動実行を試す。
Selenium IDEとSelenium WebDriverを本家サイトからダウンロード。書いている時点ではそれぞれのバージョンは2.9.0と2.46.0。
http://www.seleniumhq.org/download/
Selenium IDEはFirefoxのプラグインという記事を読んでいたのでFirefoxのアドオンページを探しに行ったけどそれらしいものがない。上記ページの下の方にxpiファイルがあるのでこれをダウンロードしてFirefoxにドロップすれば入る。
WebDriverはpython binding版を使う。Firefoxで動けばいいので他のブラウザ用のファイルは気にしない。
Selenium IDEは目的のサイトをGUIで操作すれば記録してくれるけど、Playbackは難しい。勝手にWaitを入れてくれないので試行錯誤する。基本はclickAndWaitとpauseで乗り切る。pauseの待ち時間パラメータは「対象」に入れるとかわからん。「値」に入れてもエラーにならず待ち時間0で進むので悩んだ。
これをpython向けにexportしたがWaitやpauseはexportされない。ググると仕様とのこと。いやいや、何のためのIDEやねん。とりあえずAndWait系はWebDriverWait(hogehoge,秒数).until(EC.element_to_be_clickable)に置き換える。単純なpauseはtime.sleep(秒数)に置き換える。
selectはselect_by_visible_textになっていたのをselect_by_valueに直す。
これでWindows PC上でpythonから自動実行できるようになった。
これを我が家のNASサーバで動かす。NASサーバ側もSelenium WebDriverを入れる必要がある。python bindingのインストール手順はpipが簡単とのことなのでNASにpython-pipを入れてseleniumを入れる。
PC側にcygwin/Xを入れて、ssh -YでNAS側にログインする。NAS側にFirefoxを入れて起動してみる。OK。次にWindows PCで作ったpythonをNASにコピーして実行する。何も改変せずともちゃんと自動実行できた。素晴らしい。
Selenium IDEとSelenium WebDriverを本家サイトからダウンロード。書いている時点ではそれぞれのバージョンは2.9.0と2.46.0。
http://www.seleniumhq.org/download/
Selenium IDEはFirefoxのプラグインという記事を読んでいたのでFirefoxのアドオンページを探しに行ったけどそれらしいものがない。上記ページの下の方にxpiファイルがあるのでこれをダウンロードしてFirefoxにドロップすれば入る。
WebDriverはpython binding版を使う。Firefoxで動けばいいので他のブラウザ用のファイルは気にしない。
Selenium IDEは目的のサイトをGUIで操作すれば記録してくれるけど、Playbackは難しい。勝手にWaitを入れてくれないので試行錯誤する。基本はclickAndWaitとpauseで乗り切る。pauseの待ち時間パラメータは「対象」に入れるとかわからん。「値」に入れてもエラーにならず待ち時間0で進むので悩んだ。
これをpython向けにexportしたがWaitやpauseはexportされない。ググると仕様とのこと。いやいや、何のためのIDEやねん。とりあえずAndWait系はWebDriverWait(hogehoge,秒数).until(EC.element_to_be_clickable)に置き換える。単純なpauseはtime.sleep(秒数)に置き換える。
selectはselect_by_visible_textになっていたのをselect_by_valueに直す。
これでWindows PC上でpythonから自動実行できるようになった。
これを我が家のNASサーバで動かす。NASサーバ側もSelenium WebDriverを入れる必要がある。python bindingのインストール手順はpipが簡単とのことなのでNASにpython-pipを入れてseleniumを入れる。
sudo pip install -U selenium
PC側にcygwin/Xを入れて、ssh -YでNAS側にログインする。NAS側にFirefoxを入れて起動してみる。OK。次にWindows PCで作ったpythonをNASにコピーして実行する。何も改変せずともちゃんと自動実行できた。素晴らしい。
コメント