WebDriverException: 메시지: Python에서 Geckodriver 실행 파일이 PATH 오류에 있어야 합니다.
-
geckodriver.exe
파일을 사용하여 시스템PATH
에 추가하십시오. -
webdriver.Firefox()
함수에서executable_path
매개변수를 사용합니다. -
webdriver-manager
모듈 사용
Python의 selenium
패키지는 웹 브라우저에서 작업을 자동화할 수 있습니다. 웹 드라이버를 사용하여 Google Chrome, Firefox 등과 같은 다양한 웹 브라우저를 사용할 수 있습니다.
이 튜토리얼에서는 Python의 Message: 'geckodriver' executable needs to be in PATH
오류에 대해 설명합니다.
geckodriver
는 Selenium과 Firefox 브라우저 사이의 링크 역할을 하는 Mozilla에서 개발한 브라우저 엔진입니다. 이 오류는 드라이버가 제대로 설치되지 않았거나 해당 경로가 적절하게 지정되지 않은 경우에 발생합니다.
아래 코드를 참조하십시오.
from selenium import webdriver
browser = webdriver.Firefox()
출력:
WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
이제 이 오류를 해결하는 다양한 방법에 대해 논의해 보겠습니다.
geckodriver.exe
파일을 사용하여 시스템 PATH
에 추가하십시오.
Selenium은 시스템 환경 변수 PATH
에서 실행 가능한 드라이버를 식별하려고 시도합니다. geckodriver
의 실행 가능한 경로를 이 변수에 추가할 수 있습니다.
먼저 공식 Mozilla 웹사이트에서 드라이버의 실행 파일을 다운로드해야 합니다. 앞에서 설명한 PATH
변수에 이 실행 파일이 포함된 디렉토리의 경로를 추가해야 합니다.
PATH
변수는 환경 변수
메뉴에서 찾을 수 있습니다. 이 메뉴를 사용하려면 내 PC
아이콘을 마우스 오른쪽 버튼으로 클릭하고 속성
으로 이동한 다음 고급 설정
옵션을 선택해야 합니다.
Linux 사용자는 실행 파일을 /usr/local/bin
디렉토리에 직접 복사할 수 있습니다.
webdriver.Firefox()
함수에서 executable_path
매개변수를 사용합니다.
webdriver.Firefox()
생성자를 사용하여 브라우저 창을 열고 자동화된 작업을 수행할 수 있는 Driver
객체를 생성합니다. executable_path
매개변수를 사용하여 이 함수 내에서 geckodriver
실행 파일의 경로를 지정할 수 있습니다.
예를 들어:
from selenium import webdriver
driver = webdriver.Firefox(executable_path=r"user\pathofdriver\geckodriver.exe")
Mac OS 사용자는 homebrew
를 사용하여 geckodriver
를 설치할 수도 있습니다. 다음 명령을 사용할 수 있습니다.
brew install geckodriver
설치 후 드라이버의 경로가 표시됩니다. 이 경로를 복사하여 Finder
응용 프로그램에 붙여넣고 폴더로 이동
을 클릭할 수 있습니다.
그러면 executable_path
매개변수에서 사용할 수 있는 드라이버의 전체 경로가 반환됩니다.
webdriver-manager
모듈 사용
webdriver-manager
모듈은 다양한 브라우저의 웹 드라이버를 관리할 때 약간의 경감을 제공하기 위해 도입되었습니다.
GeckoDriverManager().install()
함수를 사용하여 geckodriver
용 실행 파일을 설치하고 사용할 수 있습니다. 이전에 설명한 executable_path
매개변수에 지정해야 합니다.
아래 코드를 참조하십시오.
from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager
driver_object = webdriver.Firefox(executable_path=GeckoDriverManager().install())
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn관련 문장 - Python Selenium
- Python Selenium 새로 고침 페이지
- Python에서 Selenium 웹 드라이버 대기 추가
- Python에서 Selenium으로 버튼 클릭
- Python에서 Selenium으로 요소 찾기
- Python에서 Selenium을 사용하여 텍스트로 요소 찾기
- Python에서 Selenium을 사용한 스크린샷
관련 문장 - Python Error
- AttributeError 수정: Python에서 'generator' 객체에 'next' 속성이 없습니다.
- AttributeError 해결: 'list' 객체 속성 'append'는 읽기 전용입니다.
- AttributeError 해결: Python에서 'Nonetype' 객체에 'Group' 속성이 없습니다.
- AttributeError: 'Dict' 객체에 Python의 'Append' 속성이 없습니다.
- AttributeError: 'NoneType' 객체에 Python의 'Text' 속성이 없습니다.
- AttributeError: Int 객체에 속성이 없습니다.