강의

멘토링

커뮤니티

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

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

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

Dễ dàng dành cho người mới bắt đầu Thu thập thông tin nâng cao Python [Scrapy, Selenium, Headless Chrome]

Cách sử dụng cơ bản của Selenium 1 - Tìm kiếm theo tên

셀레니움 문법 업그레이드 , find_element_by_tag_name 오류

Viết

·

2.8K

3

공유하려고 글씁니다.

(질문에 남겨야지, 이 강의 수강하시는분들이 볼수있기때문에, 질문에 글 남깁니다.)

 

방금 공부하는도중에 아무리봐도 오타가 없는데

find_element_by_tag_name('h1') 이 안되네요

 

구글링해서 찾아보니

셀레니움 문법이 업그레이드 되었다고합니다.

몇시간을 헤맨건지..

참고로 이렇게 쓰면 됩니다

elem = driver.find_element(By.TAG_NAME, "h1")

 

find_element_by_tag_name => find_element

위와 같이 문법 변경 되었습니다.

 

데이브리 선생님께 항상 감사드립니다.

 

selenium웹-크롤링bigdatascrapy

Câu trả lời 1

2

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

안녕하세요. 우선 공유해주셔서 감사합니다. 

또 ㅎㅎ 좋은 분 뵌듯해서 저도 정말 반갑습니다. 저도 사실 이 이슈를 오늘 알게 되었습니다. 급히 전체 코드포함 자료를 수정하였고, 지금에서야 공지를 드렸습니다. 아무쪼록 강의를 진행하시는데 큰 무리가 없으셨으면 좋겠습니다.

-------------------

 

안녕하세요. 잔재미코딩 Dave Lee 입니다.

쉽게 처음하는 파이썬 고급 크롤링 강의가 업데이트되어 공유드립니다.

최근 selenium 라이브러리가 업데이트되면서, 메서드명을 변경하였습니다. 물론 메서드명을 변경하더라도, 기존 메서드는 동일하게 사용할 수 있도록 하는 것이 일반적입니다. '호환성' 때문인데요. 그런데, selenium 라이브러리 개발팀? 은 기존 메서드를 아예 지원을 하지 않도록 하였습니다. 이렇게 되면, 기존에 selenium 을 활용한 코드들은 selenium 라이브러리 버전에 따라, 동작 안하는 케이스가 발생할텐데, 큰 결정인 듯합니다.

이와 함께 코드에 영향을 미치지는 않지만, 변경하려는 코드가 보여서, 다음과 같이 두 가지 사항을 변경하였습니다.

1. find_element_by_***() 메서드를 모두 find_element(By.***, ***) 와 같은 형태로 변경되었습니다.

     - 예: find_element_by_id('myid') --> find_element(By.ID, 'myid')

     - By.ID 등을 선언하기 위해서는 다음 추가 선언도 필요합니다.

        from selenium.webdriver.common.by import By 

2. selenium 이 4.x.x 이상에서, 코드에 영향을 미치지는 않지만, 초기 설정 코드도 변경하려는 듯합니다.

     - 기존에는 경로를 직접 인자로 넣어주면 되었지만 (예: webdriver.Chrome(chromedriver))

     - 이후에는 Service 객체에 넣어주는 방향으로 변경될 듯 합니다. (예: webdriver.Chrome(service=Service(chromedriver)) 

     - 이를 위해, webdriver_manager 라이브러리도 별도 설치가 필요합니다.

 

이상의 변경이 사실상, 메서드명이 변경된 것일 뿐이지만, 핵심 메서드명이 변경되어, 관련 코드 및 자료를 모두 업데이트하였습니다. 다음 챕터의 코드를 포함한 자료를 모두 업데이트하였으므로, 필요하실 때, 새로 다운받으시면 좋을 것 같습니다.

- Selenium 과 Scrapy 프레임워크 큰 그림과 목표 이해하기

- 연습문제로 풀어보기1 : Headless Chrome 과 Selenium 크롤링

- XPATH 큰 그림으로 이해하기

- 연습문제로 풀어보며 이해하는 XPATH 활용

- Selenium 을 활용한 멀티 페이지 크롤링

- Scrapy 다양한 사용법: Selenium 과 Scrapy 조합해서, 동적 웹페이지 크롤링하기

 

저도 오늘 급히 알게 되어, 급히 수정하였는데요. 아무쪼록 진행에 이슈는 없으셨으면 좋겠습니다.

감사합니다.

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

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

Đặt câu hỏi