인프런 커뮤니티 질문&답변

kim님의 프로필 이미지
kim

작성한 질문수

[2024 개정판] 이것이 진짜 크롤링이다 - 기본편

다음과 같은 error가 나는데 원인을 못찾겠네요..

작성

·

2.1K

1

구글링 해봐도 잘 나오지 않는데, 혹시 해결방법이 있을까요?

여기에 ChromeDriverManager().install() 이부분이 명암처리 되는거 보면, 여기서 에러 나는거 같은데,

확인좀 부탁드리겠습니다. err1.PNG

 

답변 2

0

from selenium import webdriver
# from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
import time
import pyautogui
import pyperclip


# 크롬 드라이버 자동 업데이트
# from webdriver_manager.chrome import ChromeDriverManager

# 브라우저 꺼짐 방지
chrome_options = Options()
chrome_options.add_experimental_option("detach", True)

# 불필요한 에러 메시지 없애기
chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"])

# service = Service(executable_path=ChromeDriverManager().install())  # 최신 드라이버를 자동으로 설치
# driver = webdriver.Chrome(service=service)
driver = webdriver.Chrome(options=chrome_options)
driver.implicitly_wait(5)  # 웹페이지가 로딩될때까지 5초 기다림
driver.maximize_window()  # 화면 최대화

# 웹페이지 열기
url = "https://nid.naver.com/nidlogin.login?mode=form&url=https%3A%2F%2Fwww.naver.com"
driver.get(url)  # 처음 실행시 시간이 좀 걸림(다운로드+설치)

# 아이디 입력창
id = driver.find_element(By.CSS_SELECTOR, "#id")
id.click()
# id.send_keys("아이디")
pyperclip.copy("id1234")
pyautogui.hotkey("ctrl", "v")
time.sleep(2)

# 비밀번호 입력창
pw = driver.find_element(By.CSS_SELECTOR, "#pw")
pw.click()
# pw.send_keys("비밀번호")
pyperclip.copy("pw1234")
pyautogui.hotkey("ctrl", "v")
time.sleep(2)

# log.login
login_btn = driver.find_element(By.CSS_SELECTOR, "#log\.login")  # \. : 이스케이프 문자
login_btn.click()

0

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

제가 눈으로 봤을 때는 오타가 없어 보이는데

우선 제가 드리는 코드로 확인해 보시겠어요?

 

그래도 안된다면, 직접 크롬 드라이버를 다운 받아서 작업하시는 쪽으로 진행해 보세요 :)

강의 내용에서

find_element_by_css_selector 들을

find_element(By.CSS_SELECTOR, ~) 형태로 수정해 주면 됩니다.

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options

# 크롬 드라이버 자동 업데이트
from webdriver_manager.chrome import ChromeDriverManager

# 브라우저 꺼짐 방지
chrome_options = Options()
chrome_options.add_experimental_option("detach", True)

# 불필요한 에러 메시지 없애기
chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"])

service = Service(executable_path=ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=chrome_options)

# 웹페이지 해당 주소 이동
driver.get("https://www.naver.com")
kim님의 프로필 이미지
kim

작성한 질문수

질문하기