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

토니야님의 프로필 이미지

작성한 질문수

파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기

웹 브라우저 없는 스크랩핑 및 파싱 실습(1) - 인프런

selenium 자동 로그인시 에러 발생

작성

·

12K

0

안녕하세요 강사님~

강좌대로 따라 하다가 에러가 발생했는데 검색을 해서 찾아봐도 해결을 하지 못해서 질문 남깁니다.

driver.find_elements_by_name("log").send_keys('id')

driver.find_elements_by_name("pwd").send_keys('pw')

driver.find_elements_by_xpath('//*[@id="wp-submit"]').click()

위와 같이 하면

driver.find_elements_by_name("log").send_keys('id')

AttributeError: 'list' object has no attribute 'send_keys'

이런 에러가 발생하고

driver.find_element_by_xpath('//*[@id="user_login"]').send_keys('id')

driver.find_element_by_xpath('//*[@id="user_pass"]').send_keys('pw')

driver.find_elements_by_xpath('//*[@id="wp-submit"]').click()

위와 같이 하면

driver.find_elements_by_xpath('//*[@id="wp-submit"]').click()

AttributeError: 'list' object has no attribute 'click'

이런 에러가 발생 합니다.

결국 클릭 이벤트를 확인하지 못했는데 어떻게 수정을 해야 될까요??

답변 3

1

토니야님의 프로필 이미지
토니야
질문자

답변 감사합니다.

해당 오류는 element를 elements로 써서 발생했었네요...

역시 문제는 오타가....

element로 수정하고 하니 아주 잘 동작 합니다.

감사합니다~

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

네 고생 많으셨습니다.

0

좋은사람님의 프로필 이미지
좋은사람
지식공유자

안녕하세요. 전민철님!
현재 해당 예제를 제가 직접 붙여넣어주신 소스코드로 테스트 해보니
정상적으로 저는 로그인이 되는 것을 확인했습니다.
해당 에러는 크롬 모듈을 임포트를 못했거나, 인터넷 속도 등 부가적인 이유로 인해서
엘리먼트를 찾지못해서 나오는 에러 같습니다.
driver = webdriver.Chrome('C:/Django/workspace/python-class1/section3/webdriver/chrome/chromedriver')
driver.set_window_size(1920,1280)
driver.implicitly_wait(3)
driver.find_element_by_name('log').send_keys('')
driver.find_element_by_name('pwd').send_keys('')
driver.find_element_by_xpath('//*[@id="wp-submit"]').click()
소스 코드 상에는 문제가 없어보이는데 답변드리기가 애매하네요.
driver.implicitly_wait(3)
이 코드의 시간을 늘려보시거나, 로그인할 사이트 URL을 다시 한 번 확인 부탁드립니다.
우선 전민철님 에러와 똑같은 상황을 겪고 그것에 대한 해결책 링크를 아래 드리겠습니다.
참고하시길 부탁드립니다.
https://stackoverflow.com/questions/11223011/attributeerror-list-object-has-no-attribute-click-selenium-webdriver
감사합니다.