programing

셀레늄 - 크롬 드라이버 실행 파일은 PATH에 있어야 합니다.

megabox 2023. 8. 12. 10:11
반응형

셀레늄 - 크롬 드라이버 실행 파일은 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

반응형