python에 자동 입력, 도식
이것은 selenium에서 Google Chorome을 호출하여 자동으로 로그인하고 덮어쓰는 작업입니다.
아직 잊지 않은 틈을 타서 지식을 출력하고 지식을 고정시키려고 한다.
만든 물건
자동 로그인 cookpad, 카레 검색, 제목 일람.
휴일에 카레를 만들었기 때문에 어쩌다 보니 이런 장르가 만들어졌다.
환경 설정
selenium을 설치하십시오.
pip install selenium
selenium에서 호출된 웹driver 설치brew tap homebrew/cask
brew install chromedriver
brew tap homebrew/cask
에서 홈brew를 미리 업데이트하는 것이 중요합니다!https://qiita.com/w5966qzh/items/4c1164bd7c611820c187
실제로 써 내려가다
1. module의 import
우선, 커튼에 필요한 모듈을 import로 합니다.
from selenium import webdriver # installしたseleniumからwebdriverを呼び出せるようにする
from selenium.webdriver.common.keys import Keys # webdriverからスクレイピングで使用するキーを使えるようにする。
import time # 今回は、プログラムをsleepするために使用
2. 웹 드라이브 설정 및 최초 방문 화면
이번에는 Google Chrome으로 자동 작업을 하기 때문에 웹 드라이브
webdriver.Chrome()
에 넣습니다.또
webdriver.Chrome()
에서 호출.get("ここにURLを入れる")
을 통해 Chorome에서 URL에 접근할 수 있다.이번에는 쿡패드의 로그인 화면을 지정했습니다.
webdriver = webdriver.Chrome()
webdriver.get("https://cookpad.com/identity/session/new?navigator_name=cookpad&navigator_parameters%5Burl%5D=%2F")
3. 자동 입력 표시줄
로그인 화면에서 사용자 이름과 암호를 입력해야 합니다.
입력 표시줄
find_element_by_xpath()
을 어떻게 식별하고 입력 표시줄의 xpath를 매개 변수에 전달합니까?xpath에 대한 조사 방법과 복사 방법은 메일 주소 표시줄에 커서를 놓고 오른쪽 단추를 누르면 해당하는 출처를 표시합니다.CopyXpath를 사용하여 복사할 수 있는 해당 소스 파일에 커서를 놓습니다.
그러면
find_element_by_xpath()
에서 입력 위치를 지정하는 xpath, send_keys
에서 실제 입력하고 싶은 문자열을 입력하십시오.webdriver.find_element_by_xpath("//*[@id='login_form']/div/form/div[1]/div[1]/input").send_keys("入力したいメールアドレス")
webdriver.find_element_by_xpath("//*[@id='login_form']/div/form/div[1]/div[2]/input").send_keys("入力したいパスワード")
입력할 수 있다면 로그인 단추를 누르고 싶어서 find_element_by_css_selector
단추를 지정합니다.라벨css 정보를 매개 변수에 class 이름으로 전달하면 지정할 수 있습니다.이번에도 인증을 사용하여 원본 코드에 커서를 놓으면 자동으로 팝업
input.bottun.keys
됩니다.당연히 원본 코드를 읽고 표시해야 한다.클라스 이름을 읽을 수 있습니다.
그러면
find_element_by_css_selector
에서 어떤 단추를 지정할 수 있는지 click()
를 누르세요.webdriver.find_element_by_css_selector("input.button.large").click()
여기에 로그인 처리는 1,2초가 걸리기 때문에 이 코드에 프로그램을 입력하여 3초 휴식 처리를 한다.휴식 처리를 입력하지 않으면 프로그램이 연속적으로 화면을 입력하고 로그인 처리에 공백을 입력합니다.time.sleep(3)
top 페이지로 이동한 후 검증을 사용하여 검색 화면에 카레를 건네주고 클릭하세요.
webdriver.find_element_by_css_selector("input.search-field.global_search_keyword").send_keys("カレー")
webdriver.find_element_by_css_selector("input.button.min.global_search_submit_btn").click()
4. 제목 표시
표시된 페이지의 첫 페이지를 대상으로 range(1)로 설정하고 페이지의
a.recipe-title
를 가져와 표시합니다.for i in range(1):
titles = webdriver.find_elements_by_css_selector("a.recipe-title")
for title in titles:
print(title.text)
덤벼라 알립시다.
salackweb을 import으로 합니다.
import slackweb
slackweb.Slack으로 웹 hook, slack을 설정합니다.title에 notify 알림을 사용합니다.slack = slackweb.Slack(url="webhook入力")
slack.notify(text="%s"%title.text)
Reference
이 문제에 관하여(python에 자동 입력, 도식), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fujigaki/items/db8a97c4a679ba1e3208텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)