셀레니움 no such element 에러

조회수 2071회

안녕하세요.
파이썬에서 셀레니움으로 크롤링 도전중인 학생입니다.

저는 아사히 신문 데이터베이스에서 그림에 표시된 시대를 클릭 하려고 하는데요. xpath를 통해서 접근을 시도중입니다.

이미지

우선 xpath를 두가지

  1. //*[@id="nav_global"]/tbody/tr[1]/td[2]
  2. //*[@id="nav_tab02"]

복사해서 실행해봤는데, 계속 찾을 수 없다는 no such element 에러를 내뱉고 있습니다.
그리고 xpath가 아니라 id찾기로 해서 'nav_tab02'를 사용해봤는데도 오류가 났구요.(혹시 몰라서 xpath 방식으로 하고 'nav_tab02'를 해봤는데 똑같습니다.)

제 코드는 아래와 같습니다.

import time                        
from selenium import webdriver     
from selenium.webdriver.common.keys import Keys                                   
path = ('D:/downloads/chromedriver.exe')                           
driver = webdriver.Chrome(path)                
driver.get('https://database.asahi.com/login/login.php')               
print('로그인 완료!')               
driver.implicitly_wait(5)           
time.sleep(5)            
category01 = driver.find_element_by_xpath('//*[@id="nav_global"]/tbody/tr[1]/td[2]')         
category01.click()         
print('시대선택 완료')              

혹시 도움 주실 수 있으신 분 계신가요?
같은 방식으로 네이버 로그인 하는 코드는 성공해서 제가 뭘 잘못하고 있는지 더 궁금하네요 :)
읽어주셔서 감사합니다.

  • 아이디/비번이 없어 해볼수가 없네요 정영훈 2019.5.7 00:03

1 답변

    1. 링크 주신 login.php 자체에는 저 표가 없지 않나요? 주신 소스만 가지고도 로그인이 된다구요?? 애초에 로그인이 안 돼 있어서 검색화면이고 뭐고 없을 것 같은데??
    2. 스샷 주신 검색화면 소스를 대충 보면 결국 ../oudan/d-numlist.php에 파라미터 넣어서 요청 때리는 것뿐일 거 같거든요. 최종 구현하고자 하시는 게 정말 컬럼 선택 액션뿐인가요? 최종적으로 원하시는 게 기사 검색이라면, 그냥 저 php에게 어떤 POST 값을 넘기면 되는지 알아내서 저 php를 직접 콜하는 게 빠르지 않나요? 주객 전도가 일어나고 있는 듯한데...
    • 1번 같은 경우 ip기반으로 자동 로그인되는 곳이라 저 주소로 들어가면 리다이렉트되어서 저 화면이 나옵니다. 2번은 제가 용어나 개념이 익숙하지 못해서 잘 모르겠네요 알 수 없는 사용자 2019.5.6 15:36

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)