셀레늄 - 크롬 드라이버 실행 파일은 PATH에 있어야 합니다.
오류 메시지:
'chromedriver' 실행 파일은 PATH에 있어야 합니다.
pycharm에서 selenium을 사용하여 스크립트를 코딩하려고 했는데 위의 오류가 발생했습니다.저는 이미 여기서 본 것처럼 셀레늄을 파이차마와 연결했습니다(새롭게 최신 상태).
저는 셀레늄이 처음입니다. "셀레늄" 폴더에 있는 크롬 드라이버가 아닙니다.그렇지 않으면 어디서 찾아서 경로에 추가할 수 있습니까?
그런데, cmd에 "chromedriver"를 입력하려고 했지만, 내부 명령이나 외부 명령으로 인식되지 않았습니다.
아래에 표시된 오류:
Traceback (most recent call last):
File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\common\service.py", line 64, in start
stdout=self.log_file, stderr=self.log_file)
File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 947, in __init__
restore_signals, start_new_session)
File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\subprocess.py", line 1224, in _execute_child
startupinfo)
PermissionError: [WinError 5] Permission denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/sebastian/PycharmProjects/web/bot.py", line 10, in <module>
browser = webdriver.Chrome("C:/Users/sebastian/desktop/selenium-3.0.1")
File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 62, in __init__
self.service.start()
File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\common\service.py", line 76, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'selenium-3.0.1' executable may have wrong permissions. Please see https://sites.google.com/a/chromium.org/chromedriver/home
Exception ignored in: <bound method Service.__del__ of <selenium.webdriver.chrome.service.Service object at 0x01EDEAF0>>
Traceback (most recent call last):
File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\common\service.py", line 163, in __del__
self.stop()
File "C:\Users\sebastian\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\common\service.py", line 135, in stop
if self.process is None:
AttributeError: 'Service' object has no attribute 'process'
ChromeDriver는 https://sites.google.com/chromium.org/driver/ 에서 다운로드할 수 있습니다.
그러면 여러 가지 옵션이 있습니다.
시스템에 추가
path
파이썬 스크립트와 동일한 디렉토리에 저장합니다.
를 통해 직접 위치 지정
executable_path
driver = webdriver.Chrome(executable_path='C:/path/to/chromedriver.exe')
사용해 보십시오.
pip install webdriver-manager
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
또 다른 방법은 Chromedriver를 다운로드하여 압축을 풀고 C:\Python27\스크립트를 사용하면 드라이버 경로를 제공할 필요가 없습니다.
driver= webdriver.Chrome()
효과가 있을 것
2020년 답입니다.다음 코드는 이 문제를 해결합니다.셀레늄을 처음 접하는 많은 사람들은 이 단계를 지나쳐야만 하는 것 같습니다.크롬 드라이버를 설치하고 바탕 화면의 폴더 안에 넣습니다.또한 크롬 드라이버가 있는 폴더와 동일한 폴더에 셀레늄 파이썬 프로젝트를 넣으십시오.
컴퓨터에 따라 USER_NAME 및 FOLDER를 변경합니다.
Windows의 경우
driver = webdriver.Chrome(r"C:\Users\USER_NAME\Desktop\FOLDER\chromedriver")
리눅스/Mac의 경우
driver = webdriver.Chrome("/home/USER_NAME/FOLDER/chromedriver")
파일 경로에 '.exe'를 포함하지 마십시오.
예:
from selenium import webdriver
driver = webdriver.Chrome(executable_path='path/to/folder/chromedriver')
또 다른 방법은 Chromedriver를 다운로드하여 압축을 풀고 C:\Python27\스크립트를 사용하면 드라이버 경로를 제공할 필요가 없습니다.
driver= webdriver.Chrome()
효과가 있을 것
이것이 Python 3.7에서도 작동한다는 것을 증명할 수 있습니다.
사용해 보십시오.
driver = webdriver.Chrome(ChromeDriverManager().install())
언급URL : https://stackoverflow.com/questions/40555930/selenium-chromedriver-executable-needs-to-be-in-path
'programing' 카테고리의 다른 글
Ajax 호출 후 페이지 새로 고침을 중지하는 방법은 무엇입니까? (0) | 2023.08.17 |
---|---|
기존에 없는 CSS 클래스를 사용할 수 있습니까? (0) | 2023.08.12 |
SQL Server에서 기본값 수정 (0) | 2023.08.12 |
'input' 요소의 'change' 이벤트와 'input' 이벤트 간의 차이 (0) | 2023.08.12 |
Oracle/TOAD의 컴파일 오류에 대한 정보를 가져오는 방법 (0) | 2023.08.12 |