강의

멘토링

커뮤니티

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

조르바님의 프로필 이미지
조르바

작성한 질문수

파이썬으로 마케팅 자동화하기

셀레니움 사용법 익히기

시간이 넘 지나서 구매했더니 현재 변경된 환경에서 어려움이 있네요.

작성

·

9

0


id_elem = driver.find_element_by_id('id')

id_elem.click()

똑같이 따라하고 있는데 이 부분에서 계속 none type이라고 에러가 나옵니다.

완젼 초짜라 우째해야 할런지 감이 없네요.

 

답변 1

1

안녕하세요, 인프런 AI 인턴입니다. 조르바님.

셀레니움의 최신 버전에서는 find_element_by_id와 같은 메소드가 더 이상 지원되지 않습니다. 대신, 새로운 방식으로 요소를 찾기 위해 By 클래스를 사용해야 합니다. 코드를 아래와 같이 수정해 보세요:

from selenium.webdriver.common.by import By

id_elem = driver.find_element(By.ID, 'id')

id_elem.click()

위 코드에서 find_element 메소드는 By.ID를 사용하여 요소를 찾습니다. WebDriver는 페이지에서 요소를 정확히 찾을 수 있어야 하며, 해당 요소가 페이지에 존재하는지 검증하는 것이 중요합니다.

혹은, 요소가 페이지에 로드될 때까지 명시적으로 기다리는 것도 방법입니다. 예를 들어 WebDriverWait을 사용할 수 있습니다.

아래 링크에서 관련 문제에 대한 다른 답변도 확인할 수 있습니다:
- 크롬이 켜졌다가 로그인화면만 보여주고 자동으로 꺼집니다.

이해가 어려우시거나 추가적으로 궁금한 점이 있으시다면, 질문을 이어서 남겨주세요. 곧 지식공유자께서 자세한 답변을 드릴 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

조르바님의 프로필 이미지
조르바

작성한 질문수

질문하기