selenium에서 로그인을위한 간단한 RPA를 시도했습니다.

4923 단어 RPA파이썬셀레늄

계기



회식 자리에서 회사 동료가 RPA에서 근태의 자동 입력을 해주는 프로그램을 만들었다는 것을 들었습니다.
그래서 그의 이야기에서 selenum의 존재를 알고 자신도 만져보고 싶었습니다.

도입에는 하기 사이트를 참고로 했습니다.

【슈퍼 편리】Python과 Selenium에서 브라우저를 자동 조작하는 방법 정리
htps : // 타누는 ck. 코 m/세에니 m/

손잡이로 Google 크롬과 chromedriver 버전을 맞춰야 했습니다.
12/3일 현재 Google 크롬의 최신 버전이 78인 반면,
chromedriver의 최신 버전은 베타 버전의 79 용이었습니다.
그 때문에, chromedriver의 최신판에서는 움직이지 않았으므로 재차 78용을 다운로드했습니다.

만든 것



브라우저를 시작하고 AWS의 관리 콘솔에 로그인하는 프로그램을 만들었습니다.

우선은 모듈의 임포트입니다.

aws.py
from selenium import webdriver

그런 다음 두 가지 함수를 만들었습니다.
send_id는 html에서 입력 양식의 id를 지정하고 입력 양식에 key를 입력합니다.
id_click은 HTML에서 제출 버튼의 id를 지정하고 거기를 클릭합니다.

aws.py
#idの入力フォームにkeyを入力
def id_send(id,key):
    driver.find_element_by_id(id).send_keys(key)

#idのボタンをクリック
def id_click(id):
    driver.find_element_by_id(id).click()

그런 다음 로컬에 있는 크롬용 드라이버를 지정합니다.
열리는 브라우저는 AWS의 관리 콘솔입니다.

aws.py
#ローカルにあるクローム用のドライバーを指定
driver = webdriver.Chrome('C:\\Users\\username\\Desktop\\selenium\\chromedriver')

#ブラウザを開く
driver.get('https://ap-northeast-1.console.aws.amazon.com/console/home?region=ap-northeast-1#')

열린 브라우저에서 F12, 입력 폼의 정보를 찾습니다…id="resolved_inut" 라는 녀석이 그렇네요.


이제 여기에 계정 ID를 입력하고 보내도록 만든 함수를 사용합니다.
계정 ID에 실제로 12자리 숫자를 입력합니다.

aws.py
#1つ目の画面の入力、送信
id_send('resolving_input','アカウントID')
id_click('next_button')

그러면 계정 ID가 입력되고 ...


다음 페이지로 날아갔습니다.


여기에서도 마찬가지로 사용자 이름, 비밀번호 입력 양식의 ID를 찾아 프로그램에 떨어뜨립니다.

aws.py
id_send('username','username')
id_send('password','password')
id_click('signin_button')

그리고 안전하게 전송되면 로그인 할 수있었습니다.


이상이 이번 프로그램이었습니다.

감상・향후의 과제



이번은 이 정도의 간단한 로그인이었습니다만, html나 css, javascript에 대해서 더 공부하면,
자동화의 폭도 퍼질 것 같다-라고 ​​느꼈습니다.
스스로 사이트를 만들어 보면서 지식을 깊게하고 싶습니다.

좋은 웹페이지 즐겨찾기