Submit Search
Upload
日々の作業を自動化してみる
•
0 likes
•
50 views
S
ssuser36ee61
Follow
Seleniumを使ってブラウザを自動操作
Read less
Read more
Technology
Report
Share
Report
Share
1 of 18
Download now
Download to read offline
Recommended
delayed_jobの自動再起動
delayed_jobの自動再起動
firewood
async/awaitダークサイド is 何
async/awaitダークサイド is 何
Kouji Matsui
いまさら恥ずかしくてAsyncをawaitした
いまさら恥ずかしくてAsyncをawaitした
Kouji Matsui
これからの「async/await」の話をしよう
これからの「async/await」の話をしよう
Kouji Matsui
Small eigen collider ruby kaigi 2011
Small eigen collider ruby kaigi 2011
Andrew Grimm
Small eigen collider ruby kaigi 2011
Small eigen collider ruby kaigi 2011
Andrew Grimm
この実装には問題がある!
この実装には問題がある!
GOMI NINGEN
Apache Antについて
Apache Antについて
Takeshi Yoshimura
Recommended
delayed_jobの自動再起動
delayed_jobの自動再起動
firewood
async/awaitダークサイド is 何
async/awaitダークサイド is 何
Kouji Matsui
いまさら恥ずかしくてAsyncをawaitした
いまさら恥ずかしくてAsyncをawaitした
Kouji Matsui
これからの「async/await」の話をしよう
これからの「async/await」の話をしよう
Kouji Matsui
Small eigen collider ruby kaigi 2011
Small eigen collider ruby kaigi 2011
Andrew Grimm
Small eigen collider ruby kaigi 2011
Small eigen collider ruby kaigi 2011
Andrew Grimm
この実装には問題がある!
この実装には問題がある!
GOMI NINGEN
Apache Antについて
Apache Antについて
Takeshi Yoshimura
トイレ使用中APIへの道
トイレ使用中APIへの道
Masayuki KaToH
Uiテスト@yidev
Uiテスト@yidev
Yusuke Kita
モジュール開発におけるぼくの試行錯誤
モジュール開発におけるぼくの試行錯誤
karupanerura
ITFFFで自動化しよう
ITFFFで自動化しよう
Ryo Okuno
Swift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswift
Tomohiro Kumagai
20150803 baas meetup
20150803 baas meetup
Daichi Morifuji
continuatioN Linking
continuatioN Linking
Kouji Matsui
仕事でも Groovy を使おう!
仕事でも Groovy を使おう!
Oda Shinsuke
20130615 組込みの仕事場でRubyを使う
20130615 組込みの仕事場でRubyを使う
Ryo Nagai
ざんねんなワークフロー図鑑
ざんねんなワークフロー図鑑
Seiya Noguchi
Swift 2.0 で変わったところ「後編」 #cswift
Swift 2.0 で変わったところ「後編」 #cswift
Tomohiro Kumagai
JSオジサン openframeworks emscripten
JSオジサン openframeworks emscripten
minoru nakanou
Spekではじめるユニットテスト
Spekではじめるユニットテスト
Recruit Lifestyle Co., Ltd.
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source
Yoshiyuki Nakamura
スライド、作ってみませんか? #osc16tk
スライド、作ってみませんか? #osc16tk
whywaita
Zappa で Serverless CMS を作ってみる
Zappa で Serverless CMS を作ってみる
Iosif Takakura
How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2
ichikaway
Pythonでブラウザをいっぱい動かしたい
Pythonでブラウザをいっぱい動かしたい
Kameko Ohmura
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
Wataru MIYAGUNI
はじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみた
akira6592
やって分かった自動テスト
やって分かった自動テスト
Hirokazu Tokuno
More Related Content
What's hot
トイレ使用中APIへの道
トイレ使用中APIへの道
Masayuki KaToH
Uiテスト@yidev
Uiテスト@yidev
Yusuke Kita
モジュール開発におけるぼくの試行錯誤
モジュール開発におけるぼくの試行錯誤
karupanerura
ITFFFで自動化しよう
ITFFFで自動化しよう
Ryo Okuno
Swift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswift
Tomohiro Kumagai
20150803 baas meetup
20150803 baas meetup
Daichi Morifuji
continuatioN Linking
continuatioN Linking
Kouji Matsui
仕事でも Groovy を使おう!
仕事でも Groovy を使おう!
Oda Shinsuke
20130615 組込みの仕事場でRubyを使う
20130615 組込みの仕事場でRubyを使う
Ryo Nagai
ざんねんなワークフロー図鑑
ざんねんなワークフロー図鑑
Seiya Noguchi
Swift 2.0 で変わったところ「後編」 #cswift
Swift 2.0 で変わったところ「後編」 #cswift
Tomohiro Kumagai
What's hot
(11)
トイレ使用中APIへの道
トイレ使用中APIへの道
Uiテスト@yidev
Uiテスト@yidev
モジュール開発におけるぼくの試行錯誤
モジュール開発におけるぼくの試行錯誤
ITFFFで自動化しよう
ITFFFで自動化しよう
Swift 3 その基本ルールを眺める #cswift
Swift 3 その基本ルールを眺める #cswift
20150803 baas meetup
20150803 baas meetup
continuatioN Linking
continuatioN Linking
仕事でも Groovy を使おう!
仕事でも Groovy を使おう!
20130615 組込みの仕事場でRubyを使う
20130615 組込みの仕事場でRubyを使う
ざんねんなワークフロー図鑑
ざんねんなワークフロー図鑑
Swift 2.0 で変わったところ「後編」 #cswift
Swift 2.0 で変わったところ「後編」 #cswift
Similar to 日々の作業を自動化してみる
JSオジサン openframeworks emscripten
JSオジサン openframeworks emscripten
minoru nakanou
Spekではじめるユニットテスト
Spekではじめるユニットテスト
Recruit Lifestyle Co., Ltd.
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source
Yoshiyuki Nakamura
スライド、作ってみませんか? #osc16tk
スライド、作ってみませんか? #osc16tk
whywaita
Zappa で Serverless CMS を作ってみる
Zappa で Serverless CMS を作ってみる
Iosif Takakura
How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2
ichikaway
Pythonでブラウザをいっぱい動かしたい
Pythonでブラウザをいっぱい動かしたい
Kameko Ohmura
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
Tokuhiro Matsuno
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
Wataru MIYAGUNI
はじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみた
akira6592
やって分かった自動テスト
やって分かった自動テスト
Hirokazu Tokuno
東海GTUG 20110910発表資料
東海GTUG 20110910発表資料
Kenji NAKAGAKI
NSNotification in Swift #cocoa_kansai
NSNotification in Swift #cocoa_kansai
Tomohiro Kumagai
CMSI計算科学技術特論A(8) 高速化チューニングとその関連技術1
CMSI計算科学技術特論A(8) 高速化チューニングとその関連技術1
Hiroshi Watanabe
PredictionIOのPython対応計画
PredictionIOのPython対応計画
Shinsuke Sugaya
「仙台ミラソン」行って来た
「仙台ミラソン」行って来た
Hirokazu Tokuno
JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?
Shingo Fukui
ぼくのNode.jsのだいいっぽ
ぼくのNode.jsのだいいっぽ
拓弥 遠藤
Sphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメント
Iosif Takakura
Raspbian, OpenCV and about me(Takachiho.rb)
Raspbian, OpenCV and about me(Takachiho.rb)
Yosei Ito
Similar to 日々の作業を自動化してみる
(20)
JSオジサン openframeworks emscripten
JSオジサン openframeworks emscripten
Spekではじめるユニットテスト
Spekではじめるユニットテスト
2006-04-22 CLR/H #14 .NET and open source
2006-04-22 CLR/H #14 .NET and open source
スライド、作ってみませんか? #osc16tk
スライド、作ってみませんか? #osc16tk
Zappa で Serverless CMS を作ってみる
Zappa で Serverless CMS を作ってみる
How to manage Cakephp @CakePHP_Fukuoka_2
How to manage Cakephp @CakePHP_Fukuoka_2
Pythonでブラウザをいっぱい動かしたい
Pythonでブラウザをいっぱい動かしたい
Javaで1から10まで書いた話(sanitized)
Javaで1から10まで書いた話(sanitized)
あなたの安心を高速に守る Container-based CI
あなたの安心を高速に守る Container-based CI
はじめてAnsibleのバグ修正に協力してみた
はじめてAnsibleのバグ修正に協力してみた
やって分かった自動テスト
やって分かった自動テスト
東海GTUG 20110910発表資料
東海GTUG 20110910発表資料
NSNotification in Swift #cocoa_kansai
NSNotification in Swift #cocoa_kansai
CMSI計算科学技術特論A(8) 高速化チューニングとその関連技術1
CMSI計算科学技術特論A(8) 高速化チューニングとその関連技術1
PredictionIOのPython対応計画
PredictionIOのPython対応計画
「仙台ミラソン」行って来た
「仙台ミラソン」行って来た
JS Board で IoT は楽勝か?
JS Board で IoT は楽勝か?
ぼくのNode.jsのだいいっぽ
ぼくのNode.jsのだいいっぽ
Sphinxでまとめる多言語環境APIドキュメント
Sphinxでまとめる多言語環境APIドキュメント
Raspbian, OpenCV and about me(Takachiho.rb)
Raspbian, OpenCV and about me(Takachiho.rb)
Recently uploaded
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
Recently uploaded
(12)
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
日々の作業を自動化してみる
1.
⽇々の作業を⾃動化してみる Seleniumを使ってブラウザを⾃動操作
2.
⾃⼰紹介 電⼦情報⼯学科4年(仮)坂本啓輔@butsuli-shine ロボット研究会2020年夏⼊部 クライアントサイドJavaScript/TypeScript,React.js サーバーサイドNode.js(JavaScript/TypeScript),Express.js,Python(Flask) ⼯華祭2021のWebサイト開発(フロントエンド) エペカス(PSID:cheichey_) 元寮⽣
3.
本題 コロナ禍になり感染症対策のため,寮で毎朝決 まった時刻に検温をしてMicrosoftFormsで体 調と体温を提出することをしていた これを決まった時刻に出さないと停寮になる
4.
毎朝早く起きて検温してForms書くの⾟い,⾯倒臭いよぉ〜,退屈だよ〜
5.
退屈なことはPythonにやらせよう
6.
この作業を⾃動化する なにを⾃動化するか? 検温を⾃動化 -> 無理 Formsの提出を⾃動化
-> 可能
7.
どうやって実現するか PythonのSeleniumというライブラリを使うことによってブラウザの操作を⾃動化する ことができる ブラウザの⾃動操作をPythonに任せてあとはそれを定期的に実⾏するだけでいい ->Windows標準の機能としてあるタスクスケジューラを使えば定期実⾏できる
8.
やってみよう 実⾏環境 Python3.7 Windows10 ライブラリのインストール pip install selenium
9.
コードを書いていく ライブラリのimport from selenium import
webdriver ブラウザを開く dirver = webdriver.Chrome() 指定したURLに⾶ぶ url = 'https://www.google.com' driver.get(url)
10.
HTMLからクリックや⼊⼒したい要素を探す # xpathで探す element =
driver.find_element_by_xpath() # idで探す element = driver.find_element_by_id() # classで探す element = driver.find_element_by_class_name()
11.
要素を探した後 # クリックする element.click() # ⼊⼒する text
= '⾼専万歳' element.send_keys(text) # ⼊⼒されてる⽂字列を削除 element.clear()
12.
検温フォームに答えて みる
13.
14.
.探した要素のXpathを driver.find_element_by_xpath() に渡す .その要素をclickでクリック,send_keyで⼊⼒したりできる
15.
from selenium import
webdriver import time driver_path = './chromedriver.exe' driver = webdriver.Chrome(executable_path=driver_path) url = 'https://forms.office.com/Pages/ResponsePage.aspx?id=XYP-cpVeEkWK4KezivJfyLNSaEPu2-FCsEMGpQQlAA9UNk9SRFRWOEFZRFc0U1E2UEtYT1dETTBNSS4u' driver.get(url) # ウィンドウを最⼤化する。 driver.maximize_window() # ページが表⽰されるまつ time.sleep(2) # 名前 element = driver.find_element_by_xpath( '//*[@id="form-container"]/div/div/div/div/div[1]/div[2]/div[2]/div[2]/div/div[2]/div/div/input') element.send_keys('群⾺⾼専') # 学籍番号 element = driver.find_element_by_xpath( '//*[@id="form-container"]/div/div/div/div/div[1]/div[2]/div[2]/div[3]/div/div[2]/div/div/input') element.send_keys('22222') # 体調の選択(いい) element = driver.find_element_by_xpath('//*[@id="form-container"]/div/div/div/div/div[1]/div[2]/div[2]/div[4]/div/div[2]/div/div[1]/div/label/input') element.click() # 体温の⼊⼒ element = driver.find_element_by_xpath('//*[@id="form-container"]/div/div/div/div/div[1]/div[2]/div[2]/div[5]/div/div[2]/div/div/input') element.send_keys('36.5') # 最後に送信ボタンを押す element = driver.find_element_by_xpath('//*[@id="form-container"]/div/div/div/div/div[1]/div[2]/div[3]/div[1]/button/div') element.click()
16.
しっかりとできているか, LinemessagingAPIを 使⽤して報告
17.
改善点 ローカル環境で動作させるようにしか作っていないため、寝る前にPCを起動して就寝し なければならない ->Heroku等のPassや,AWSのEC2等のlassを使⽤して,リモート環境で実⾏する 体温を本当に測っていないため検温の意味を成していない ->体温計をいじるしかないのでかなりきつい
18.
みなさんも⾯倒なことは⾃動化できるか検討してみましょ う
Download now