* 라이브러리 참조
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
from selenium.webdriver.common.by import By
import pyperclip
import time
from bs4 import BeautifulSoup as bs
1. 크롬 실행하기
self.browser = webdriver.Chrome()
2. 크롬에서 웹 페이지 이동
self.browser.get(site_text)
3. 로그인 버튼 클릭
1) 네이버 사이트에서 F12 입력
- 오른쪽 화면과 같이 코드가 표시
2) 마우스 화살표 처럼 보이는 "Select an element..." 버튼 클릭
① 검정색에서 파란색으로 색깔이 변경
② 그 상태에서 로그인 버튼 클릭
③ 클래스 이름 확인 : 'link_login'
elem = self.browser.find_element(By.CLASS_NAME, 'link_login')
elem.click()
4. 로그인 ID, PW 입력 후 로그인 클릭
# 3. id 복사 붙여넣기
elem_id = self.browser.find_element_by_id('id')
elem_id.click()
pyperclip.copy(id_text)
elem_id.send_keys(Keys.CONTROL, 'v')
time.sleep(1)
# 4. pw 복사 붙여넣기
elem_pw = self.browser.find_element_by_id('pw')
elem_pw.click()
pyperclip.copy(pw_text)
elem_pw.send_keys(Keys.CONTROL, 'v')
time.sleep(1)
self.browser.find_element_by_id('log.login').click()
[전체 코드]
- 클래스로 만들어 보았다
class CrawlClass :
def __init__(self):
print("CrawlClass.__init__()")
def initialize(self, site_text, id_text, pw_text):
try:
print("1. CrawlClass().initialize : webdriver.Chrome() ")
self.browser = webdriver.Chrome()
print("2. CrawlClass().initialize : browser.get ", site_text)
self.browser.get(site_text)
print("3. CrawlClass().initialize : find_element")
elem = self.browser.find_element(By.CLASS_NAME, 'link_login')
elem.click()
# 3. id 복사 붙여넣기
elem_id = self.browser.find_element_by_id('id')
elem_id.click()
pyperclip.copy(id_text)
elem_id.send_keys(Keys.CONTROL, 'v')
time.sleep(1)
# 4. pw 복사 붙여넣기
elem_pw = self.browser.find_element_by_id('pw')
elem_pw.click()
pyperclip.copy(pw_text)
elem_pw.send_keys(Keys.CONTROL, 'v')
time.sleep(1)
self.browser.find_element_by_id('log.login').click()
except Exception as e:
print("Exception : initialize()", e)
'#1프로그래밍 > #1-3 Python 예제' 카테고리의 다른 글
[python, QT, desinger] QT Desinger로 생성한 UI 파일 이용하기 (0) | 2023.01.03 |
---|