커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 완료
크롤링시 해당 클릭이 find_element,xpath 모두 동원해도 불러와지지 않습니다.
[왕초보] 칼퇴를 부르는 파이썬 업무 자동화 v0
4주차
북마크
윤*성
댓글
6
추천
0
조회수
35
조회수
35
답변 완료

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


안녕하세요 삼성전자 주식 검색을 타고 들어가 뉴스 공시 를 클릭하고 자료를 추출하는거까지 해보려고 하는데

작동이 되질 않아(뉴스,공시 클릭부분에서 끝납니다..ㅜ) find.element(By.CSS_SELECT,XPATH,ID 모두 해봤지만..)뭐가 잘못됐는지 모르겠습니다..

혹시 웹사이트에서 불법으로 간주하는 걸까요?아니면 제가 HTML 해석을 잘못한 걸까요?확인부탁드립니다.


아래는 소스코드입니다.

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.chrome.options import Options

import time

import requests

from io import BytesIO

from openpyxl import Workbook

from openpyxl import load_workbook

from openpyxl.drawing.image import Image

from openpyxl.styles import PatternFill, Alignment

from selenium.webdriver.support.ui import WebDriverWait  

from selenium.webdriver.support import expected_conditions as EC




# 크롬 드라이버 옵션 설정

chrome_options = Options()

chrome_options.add_experimental_option("detach", True)

chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"])

driver = webdriver.Chrome(options=chrome_options)


driver.get("https://www.naver.com")

driver.maximize_window()

time.sleep(1)

sam= driver.find_element(By.ID, 'query')

sam.click()

sam.send_keys('삼성전자 주식')

sam.send_keys(Keys.ENTER)

time.sleep(2)

#증권정보 더 보기

chart = driver.find_element(By.XPATH, '//*[@id="main_pack"]/section[1]/div/div[2]/div[3]/div[2]/div[1]/ul/li[3]/a/strong').click()    


chart2 = driver.find_element(By.XPATH, '//*[@id="content"]/ul/li[3]/a').click()   #---> 이부분이 작동 안됨.

time.sleep(3)


driver.quit




스파르타 즉문즉답




작성한 코드 및 에러 메세지


아래는 결과 뜨는 내용입니다.

(.venv) D:\python(ezen)\sparta_coding\3주차>"d:/python(ezen)/sparta_coding/3주차/.venv/Scripts/python.exe" "d:/python(ezen)/sparta_coding/3주차/.venv/test2.py"

Traceback (most recent call last):

 File "d:\python(ezen)\sparta_coding\3주차\.venv\test2.py", line 34, in <module>

  chart2 = driver.find_element(By.XPATH, '//*[@id="content"]/ul/li[3]/a').click()

       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 File "d:\python(ezen)\sparta_coding\3주차\.venv\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 748, in find_element

  return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]

      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

 File "d:\python(ezen)\sparta_coding\3주차\.venv\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 354, in execute

  self.error_handler.check_response(response)

 File "d:\python(ezen)\sparta_coding\3주차\.venv\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 229, in check_response

  raise exception_class(message, screen, stacktrace)

selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//*[@id="content"]/ul/li[3]/a"}

 (Session info: chrome=126.0.6478.127); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exception

Stacktrace:

    GetHandleVerifier [0x00007FF6C49BEEA2+31554]

    (No symbol) [0x00007FF6C4937ED9]

    (No symbol) [0x00007FF6C47F872A]

    (No symbol) [0x00007FF6C4848434]

    (No symbol) [0x00007FF6C484853C]

    (No symbol) [0x00007FF6C488F6A7]

    (No symbol) [0x00007FF6C486D06F]

    (No symbol) [0x00007FF6C488C977]

    (No symbol) [0x00007FF6C486CDD3]

    (No symbol) [0x00007FF6C483A33B]

    (No symbol) [0x00007FF6C483AED1]

    GetHandleVerifier [0x00007FF6C4CC8B1D+3217341]

    GetHandleVerifier [0x00007FF6C4D15AE3+3532675]

    GetHandleVerifier [0x00007FF6C4D0B0E0+3489152]

    GetHandleVerifier [0x00007FF6C4A6E776+750614]

    (No symbol) [0x00007FF6C494375F]

    (No symbol) [0x00007FF6C493EB14]

    (No symbol) [0x00007FF6C493ECA2]

    (No symbol) [0x00007FF6C492E16F]

    BaseThreadInitThunk [0x00007FFF28DE7344+20]

    RtlUserThreadStart [0x00007FFF2903CC91+33]



취소
 공유
취소
댓글 0
댓글 알림
나의얼굴