自社勤怠管理システムがWebシステムでログインから出勤の確定を行うまでの工程を自動化したく、Seleniumを学習。
そのことについてのメモをこの記事に入力しようと考えています。
実行OS
Windows10 64bit
必要なもの
python
chromeドライバ
※エディタはお好みで、私はVisualStudioCodeを使用しました。
pythonインストール
以下サイトから「DownLoad Python~」というボタンアイコンを押してダウンロード
https://www.python.org/downloads/
ダウンロードした実行ファイル(windowsの場合は.exe)を起動し、pythonのインストールを行う。
seleniumのインストール
seleniumはWebブラウザを操作するためのライブラリという認識
インストール方法はコマンドプロンプトを開いて以下を入力する
>pip install selenium
ChromeDriverダウンロード
https://sites.google.com/a/chromium.org/chromedriver/downloads
上記サイトからchromeドライバをダウンロード
⇓
※上記GoogleChromeブラウザを操作するためのドライバなので、
操作したいブラウザによってドライバが異なるので、それぞれ使用したい
ドライバをダウンロードする
seleniumコードメモ
selenium.webdriver インポート
from selenium import webdriver
chromedriverの利用
driver = webdriver.Chrome("ダウンロードしたChromeドライバの場所/chromedriver.exe")
操作したいWebサイトの指定
driver.get('webサイトURL')
上記まで終了したら、Webサイト上のオブジェクトが操作できるようになる
frameの指定
f1 = driver.find_element_by_name("frame1")
driver.switch_to_frame(f1)
Webサイト上で操作したいオブジェクトがiframe内のオブジェクトである場合
iframeを選択する処理が必要
element情報の取得
取得するための関数は沢山用意されているので、関数のメモだけ残す
find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector
input type="text"に値を入力
# 以下はname="LoginID"のテキストボックスに"xxxxx@gmail.com"を入力した例
element = driver.find_element_by_name("LoginID")
element.send_keys("xxxxx@gmail.com")
Linkタグをクリック
# 以下はname="alink"というリンク<a>をクリックした例
element = driver.find_element_by_name("alink")
element.click()
driverの終了
driver.quit()
※"driver"部分はchromedriverの利用で宣言した変数です。