나는 파이썬과 함께 셀레늄을 사용하고 있으며이 사이트에서 내 Windows 컴퓨터 용 chromedriver를 다운로드했습니다 : http://chromedriver.storage.googleapis.com/index.html?path=2.15/
zip 파일을 다운로드 한 후 zip 파일의 다운로드 폴더로 압축을 풉니 다. 그런 다음 실행 가능한 바이너리 (C : \ Users \ michael \ Downloads \ chromedriver_win32)의 경로를 환경 변수 “경로”에 넣습니다.
그러나 다음 코드를 실행할 때 :
from selenium import webdriver
driver = webdriver.Chrome()
… 다음과 같은 오류 메시지가 계속 나타납니다.
WebDriverException: Message: 'chromedriver' executable needs to be available in the path. Please look at http://docs.seleniumhq.org/download/#thirdPartyDrivers and read up at http://code.google.com/p/selenium/wiki/ChromeDriver
그러나-위에서 설명한 것처럼 실행 파일은 경로에 있습니다 …! 여기서 무슨 일이 일어나고 있습니까?
답변
cmd를 열고 chromedriver
(chromedriver 실행 파일의 이름이 여전히 이와 같다고 가정) 입력하고 Enter 키를 누르면 실제로 PATH에 있는지 테스트 할 수 있습니다 . 경우 Starting ChromeDriver 2.15.322448
나타나는되면, PATH가 적절하게 설정하고 잘못가는 뭔가가있다.
또는 다음과 같이 chromedriver의 직접 경로를 사용할 수 있습니다.
driver = webdriver.Chrome('/path/to/chromedriver')
따라서 특정 경우 :
driver = webdriver.Chrome("C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")
답변
바이너리를 다운로드하고 경로를 수동으로 구성하여 chromedriver를 설정하는 기존 방법에 대한 토론이 여전히 진행되고 있음을 알 수 있습니다.
이것은 웹 드라이버 관리자를 사용하여 자동으로 수행 할 수 있습니다
pip install webdriver-manager
이제 질문의 위 코드는 아래의 변경으로 간단하게 작동합니다.
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
Firefox, Edge 및 ie 바이너리를 설정하는데도 마찬가지입니다.
답변
pycharm 커뮤니티 에디션과 동일한 상황이므로 cmd와 마찬가지로 경로 변수를 다시로드하려면 ide를 다시 시작해야합니다. 당신의 아이디어를 다시 시작하면 괜찮을 것입니다.
답변
Linux (Ubuntu 또는 Debian)에서 :
sudo apt install chromium-chromedriver
macOS에서 https://brew.sh/ 를 설치 한 다음
brew cask install chromedriver
답변
r
원시 문자열의 경우 문자열 앞에 문자로 시작하는 경로 문자열을 추가해야 합니다. 나는이 방법으로 테스트했으며 작동합니다.
driver = webdriver.Chrome(r"C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")
답변
PATH env를 사용하여 땜질을 피하기 위해이 스레드의 향후 독자를위한 추가 입력 / 설명 Windows 수준에서 변수를 설정하고 Windows 시스템을 다시 시작하십시오 ( Chrome에 해당하는 https://stackoverflow.com/a/49851498/9083077의 답변 복사 ).
(1) 이전에이 스레드에서 설명한대로 chromedriver를 다운로드하고 압축이 풀린 chromedriver.exe를 X : \ Folder \ of \ your \ choice에 놓습니다.
(2) 파이썬 코드 샘플 :
import os;
os.environ["PATH"] += os.pathsep + r'X:\Folder\of\your\choice';
from selenium import webdriver;
browser = webdriver.Chrome();
browser.get('http://localhost:8000')
assert 'Django' in browser.title
참고 : (1) 샘플 코드 (참조 된 답변에서)가 지정된 URL에 대한 Firefox 브라우저를 여는 데 약 5 초가 걸릴 수 있습니다. (2) 지정된 URL에서 이미 실행중인 서버가 없거나 문자열 ‘Django’를 포함하는 제목을 가진 페이지를 제공하는 서버가 없으면 Python 콘솔에 다음 오류가 표시됩니다. assert ‘Django’in browser.title AssertionError
답변
Linux 및 OSX의 경우
1 단계 : Chromedriver 다운로드
# You can find more recent/older versions at http://chromedriver.storage.googleapis.com/
# Also make sure to pick the right driver, based on your Operating System
wget http://chromedriver.storage.googleapis.com/81.0.4044.69/chromedriver_mac64.zip
2 단계 :에 chromedriver 추가 /usr/local/bin
unzip chromedriver_mac64.zip
cp chromedriver /usr/local/bin
이제 달릴 수 있어야합니다
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://localhost:8000')
문제없이