셀레니움 버전 변경으로 인한 코드 변경
06:00부에서 오류가 생겨서 찾아보았음.
기존 강의에서는
elems = driver.find_elements_by_id('begin')이 정상적으로 작동되었으나 셀레니움 버전 4.3.0(최신버전)부터는 "find_element_by_* & find_elements_by"를 제거하였다. 따라서 아래와 같은 코드를 쓰면 정상 작동될 것이다.
elems = driver.find_elements("id", "begin")
전체코드
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
# 드라이버 생성
# chromedriver 설치된 경로를 정확히 기재해야 함
chromedriver = 'C:\dev_python\Webdriver/chromedriver.exe' # 윈도우
#chromedriver = '/usr/local/Cellar/chromedriver/chromedriver' # 맥
driver = webdriver.Chrome(chromedriver)
# 크롤링할 사이트 호출
driver.get("https://davelee-fun.github.io/blog/crawl_html_css.html")
time.sleep(1)
# 여기에 작성해보세요
elems = driver.find_elements("id", "begin")
for index in elems:
print(index.text)
driver.quit()
혹시나 헤매시는 분들을 위해 끄적여 봅니다.
답변 1
1
안녕하세요. 답변도우미입니다.
허걱, 본래는 해당 함수가 버전이 업데이트되면서, 새로운 함수를 제공하지만, 그렇다고 해서, 기존 함수가 동작을 안하는 경우는 극히 드물거든요. warning 메세지로 새로운 함수를 가이드하긴 하지만, 기존 함수를 동작안시키면, 관련 라이브러리를 쓴 모든 코드가 다 동작을 안하는 상황이 되기 때문에, 지원을 하는 것이 일반적입니다. 또 이런 경우가 파이썬 라이브러리에서 상당히 빈번하기도 하거든요. 그래서 아예 warning 메세지는 안보여주도록 하는 별도 명령도 있어서, 이 부분은 신경안쓰셔도 괜찮다고 전에 답변으로 설명을 드리기도 하였는데요.
오늘 갑자기 두 분께서 이야기를 하신 것을 보니, 아예 신규 버전에서는 해당 기존 함수를 못쓰게 바꾼 것 같습니다. 공지하고, 자료를 업데이트하도록 하겠습니다.
갑자기 코드가 동작을 안해서, 상당히 당황하셨을텐데, 이렇게 가이드까지 해주셔서 감사합니다.
감사합니다.
[REST API] data의 교환방식 질문
1
666
1
headless chrome 오류 문의
0
1488
1
Selenium 처리 속도 관련 문의드립니다.
0
1955
1
동적 웹사이트에서 element가 선택되지 않는 문제에 관해 질문드립니다
0
687
1
webdriver manager
0
440
1
__init__() got an unexpected keyword argument 'service' 에러 질문드립니다.
1
11713
1
Jupiter NoteBook 파일과 PDF 파일은 어디서 다운로드 받을 수 있나요?
0
444
1
scrapy option질문
1
244
1
response.css 질문드립니다.
0
372
1
scrapy 크롤링 수행시 ffi.callback() 에러가 발생합니다
0
397
1
selenium으로 여러페이지 수집시 질문
0
381
1
연습6 모범 코드: 로그인 시나리오 해보기
0
272
1
셀레니움 문법 업그레이드 , find_element_by_tag_name 오류
3
2832
1
headless error
0
441
1
질문있습니다!
0
463
1
안녕하세요 선생님! 질문있습니다.
0
233
1
selenium&scrapy문의
0
280
1
아래분(phantele47)과 동일한 문제가 발생해서 문의드립니다.
0
910
6
ip 차단을 피하려면 어떻게 해야 하나요?
0
3370
2
start_urls = ['']가 제공해주신 것과 다르게 작동합니다.
1
287
2
json, data = json.loads(response.body_as_unicode()) 부분에 문제가 있는 것 같습니다.
0
604
3
웹크롤링이 상대방 서버에 부담이 될 때는 어떻게 하나요~?
0
685
1
scrapy 윈도우버전의 설명은 따로 없나요??
0
332
1
json 으로 저장이 안되네요
0
2133
1





