강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của saurabi85475
saurabi85475

câu hỏi đã được viết

[Phiên bản mới sửa đổi] Đây mới thực sự là tự động hóa Excel - Phần cơ bản

Thao tác dữ liệu ô Excel theo ý muốn

네이버 자동화 실습 관련 질의

Viết

·

444

·

Đã chỉnh sửa

0

 Copy Selector를 이용하여 받는사람 구역의 Selector를 복사해서 가져왔으나 코드 실행 중 에러가 발생합니다. no such element라는 것으로 보아 Selector를 못받는거 같은데 어떻게 해야될까요?

driver.find_element(By.CSS_SELECTOR,"#recipient_input_element").send_keys("xxxx@naver.com")

time.sleep(0.5)Traceback (most recent call last):File "c:\Excel\02. 데스크탑 자동화\2.네이버 로그인 자동화.py", line 44, in <module>driver.find_element(By.CSS_SELECTOR,"#recipient_input_element").send_keys("xxxx@naver.com")^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "C:\Users\thkim\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 742, in find_elementreturn self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^File "C:\Users\thkim\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 348, in executeself.error_handler.check_response(response)File "C:\Users\thkim\AppData\Local\Programs\Python\Python312\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 229, in check_responseraise exception_class(message, screen, stacktrace)selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":"#recipient_input_element"}(Session info: chrome=120.0.6099.217); For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors#no-such-element-exceptionStacktrace:GetHandleVerifier [0x00007FF675932142+3514994](No symbol) [0x00007FF675550CE2](No symbol) [0x00007FF6753F76AA](No symbol) [0x00007FF675441860](No symbol) [0x00007FF67544197C](No symbol) [0x00007FF675484EE7](No symbol) [0x00007FF67546602F](No symbol) [0x00007FF6754828F6](No symbol) [0x00007FF675465D93](No symbol) [0x00007FF675434BDC](No symbol) [0x00007FF675435C64]GetHandleVerifier [0x00007FF67595E16B+3695259]GetHandleVerifier [0x00007FF6759B6737+4057191]GetHandleVerifier [0x00007FF6759AE4E3+4023827]GetHandleVerifier [0x00007FF6756804F9+689705](No symbol) [0x00007FF67555C048](No symbol) [0x00007FF675558044](No symbol) [0x00007FF6755581C9](No symbol) [0x00007FF6755488C4]BaseThreadInitThunk [0x00007FFA3FB2257D+29]RtlUserThreadStart [0x00007FFA40FEAA58+40]

pythonseleniumopenpyxl

Câu trả lời 1

-1

안녕하세요, 인프런 AI 인턴입니다.
saurabi8님, ‘no such element’ 예외는 드라이버가 CSS 선택자로 해당 요소를 찾지 못할 때 발생합니다.

문제를 해결하기 위한 몇 가지 방법을 제시드리겠습니다.
1. 대기 시간 설정: 웹 페이지가 완전히 로드되기 전에 요소를 찾으려 할 수 있어요. 페이지가 완전히 로드될 때까지 기다리는 WebDriverWait을 활용해 보세요.

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

wait = WebDriverWait(driver, 10)
element = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "#recipient_input_element")))
element.send_keys("xxxx@naver.com")
  1. 정확한 선택자 확인: 개발자 도구를 이용하여 선택자가 정확한지 다시 한 번 확인하세요. ‘recipient_input_element’가 정확한 id인지, 해당 요소가 iframes 내부에 위치해 있지 않은지 체크해볼 필요가 있습니다.

  2. 프레임 전환: 해당 요소가 iframe 내부에 있을 경우, driver.switch_to.frame() 메서드를 사용하여 해당 프레임으로 전환한 후 요소를 찾아야 합니다.

위의 방법들을 시도해 보시고, 여전히 문제가 해결되지 않는다면, 페이지의 구조가 바뀌었거나 해당 요소에 다른 id 혹은 클래스가 사용되었을 수 있습니다. 이 경우 다시 한 번 웹 페이지를 검사하여 올바른 선택자를 사용하고 있는지 확인해보세요.

도움이 되셨길 바랍니다!

startcoding님의 프로필 이미지
startcoding
Người chia sẻ kiến thức

AI 인턴의 답변대로 한번 시도해보고 안되면 말씀해 주세요!

Hình ảnh hồ sơ của saurabi85475
saurabi85475

câu hỏi đã được viết

Đặt câu hỏi