• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 엔지니어링

  • 해결 여부

    미해결

headless error

22.06.29 22:23 작성 조회수 231

0

안녕하세요. 강의를 듣고 코드를 작성했습니다. 그런데 typeError가 발생했습니다. 구글링을 해보고 스택오버플로우에서 찾아보고 글을 남겼지만 해결이 되지 않아 여쭤봅니다. 강의 시간은 8:18입니다.
현재 크롬은 최신업데이트하였고 드라이버 경로도 확인했습니다.
 
에러 메세지는 아래와 같습니다.
TypeError Traceback (most recent call last)
Input In [20], in <cell line: 6>()
      4 headlessoptions.add_argument('headless')
      5 chromedriver = 'C:/dev_python/Webdriver/chromedriver.exe'
----> 6 driver = webdriver.Chrome(chromedriver, options=headlessoptions )
      7 driver.get('https://davelee-fun.github.io/')
      9 elem = driver.find_element_by_tag_name("h1")

TypeError: __init__() got an unexpected keyword argument 'options'
아래는 작성한 코드입니다.
from selenium import webdriver

headlessoptions = webdriver.ChromeOptions()
headlessoptions.add_argument('headless')
chromedriver = 'C:/dev_python/Webdriver/chromedriver.exe'
driver = webdriver.Chrome(chromedriver, options=headlessoptions)
driver.get('https://davelee-fun.github.io/')

elem = driver.find_element_by_tag_name("h1")
print (elem.text)
    
driver.quit()
 
 

답변 1

답변을 작성해보세요.

0

리쿤님의 프로필

리쿤

질문자

2022.06.29

셀레니움 버전 업데이트에서 다음과 같은 변화를 말함

Selenium 4.3.0
* Deprecated find_element_by_* and find_elements_by_* are now removed (#10712)
* Deprecated Opera support has been removed (#10630)
* Fully upgraded from python 2x to 3.7 syntax and features (#10647)
* Added a devtools version fallback mechanism to look for an older version when mismatch occurs (#10749)
* Better support for co-operative multi inheritance by utilising super() throughout
* Improved type hints throughout

따라서 강의에서 언급한 "find_element_by_tag_name"코드는 이제 지원하지 않음. find_element("tag name", "h1") 이 코드를 사용하면 원하는 결과를 얻을 수 있음.

셀레니움 변경사항은 링크 참고.

https://github.com/SeleniumHQ/selenium/blob/a4995e2c096239b42c373f26498a6c9bb4f2b3e7/py/CHANGES