昨年は出来なかったので、今年はやります!
簡単なことしか出来ないけど。。でも、やることに意味があると自分に言い聞かせてます。
本題
pythonとSeleniumがやりかったので色々調べた結果、フォームのチェックに使えそうだなと思って試してみました。
以前dockerとSeleniumで試してみましたが、うまく動かなかった苦い記憶もあるけど、せっかくpythonやっているからやってみようで始めました。
必要な物は下記の手順でインストール出来ます。
windowsでしか試していませんが、プラットフォーム関係なく簡単にインストールできると思います。
インストール手順
pythonのインストール
Seleniumのインストール
コマンドでpip install Selenium
を実行
webdriverのインストール
これらを使った結果はこんな感じです。
やったことは、inputに入力してボタンを押したときに結果を表示
最初、アラートを使った結果を表示する仕様にしたのですが、実行したらエラーで弾かれてしまった。
解決策は、【Selenium】 UnexpectedAlertPresentExceptionが出るケースとその対応 - フリーランチ食べたい
を参照してDOMに出力するようにしました。
実際のコード
# PythonでSeleniumのwebdriverモジュールをインポート
from selenium import webdriver
//chromeを開く準備
driver = webdriver.Chrome('chromedriver.exeを置いた場所をフルパスで記載')
//アクセスするサイト
driver.get('ターゲットURL')
//name属性で検索
input = driver.find_element_by_name('user_name')
input.send_keys('a')
//IDがtestの要素をクリックさせる
driver.find_element_by_id('test').click()
//結果をpngで保存
driver.save_screenshot('search_results.png')
//ブラウザを閉じる
driver.quit()
総括
これだけで動きました。良かった。あまりにも簡単に動いたので、よりSeleniumが身近な物になっている感じがしました。
もっと使い方を調べて面倒な検証に役立てようと思います。