1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

自社の勤怠入力をseleniumで自動化してみよう_Part2【実践編】

Posted at

前提

以下の環境が構築されていることを前提とします。
※構築がまだの方はこちらの記事をご参照ください。

・python
・selenium
・chromeDriver

動作確認

まずは実際に軽く動かしてみましょう。
以下のファイルを作成し、ターミナルで実行してみましょう。
Google Chromeが起動したらOKです!

※初めて実行される場合は、エラーメッセージが出るかもしれません。その場合はこちらの記事を参考にしてみてください。30秒ほどで解決できます。

test.py
from selenium import webdriver

# Chromeブラウザを起動
browser = webdriver.Chrome()

基本的な書き方

例)ログイン画面にて、指定のユーザでログインする

test.py
from selenium import webdriver

# Chromeブラウザを起動
browser = webdriver.Chrome()

# 指定したドライバの要素が見つかるまでの待ち時間を設定(今回は10秒)
# 設定した待ち時間を越えても要素が見つからない場合は、Exceptionが発生
browser.implicitly_wait(10)

# 勤怠システムにアクセス
browser.get("https://******.jp/")

# → アクセス後、まずログインページに遷移される

# ログイン画面の各要素を取得
loginId = browser.find_element(By.ID, "login_id")
password = browser.find_element(By.ID, "login_password")
loginBtn = browser.find_element(By.ID, "login_button")

# ログインID、パスワード入力
loginId.send_keys("luk3G-SE00101")
password.send_keys("spider25")

# ログインボタン押下
loginBtn.click()

→ 無事ログインして、勤怠入力画面に遷移しました。

補足

seleniumは実行完了後、開いたChromeも自動で閉じる
もし終了後もChromeを開いた状態を保ちたければ、以下を追記する

test.py
import os
import signal


# ↓末尾に記載する!
# python処理終了後、chromeを開いたままにする
os.kill(browser.service.process.pid,signal.SIGTERM)

メッセージ

今回勤怠入力の画面操作については記載しておりませんが、基本的には同じような形で、画面要素を取得してフォーム入力やボタン操作をしていくことになります。
seleniumは、慣れると簡単!記事も豊富なので、記載方法がわからない箇所あれば検索してみましょう!

注意点

この手のスクレイピングという技術は、サイトによっては禁止されていたりするものもあるので、始める前に確認をしましょう。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?