Selenium과 작업하는 동안 문제가 발생했습니다. 내 프로젝트에는 Chrome을 사용해야합니다. 그러나 Selenium으로 시작한 후에는 해당 브라우저에 연결할 수 없습니다.
어떤 이유로 Selenium은 Chrome 자체를 찾을 수 없습니다. 경로를 포함하지 않고 Chrome을 시작하려고 할 때 발생하는 현상입니다.
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome() # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 58, in start
and read up at http://code.google.com/p/selenium/wiki/ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path. Please download from http://code.google.com/p/selenium/downloads/list and read up at http://code.google.com/p/selenium/wiki/ChromeDriver'
이 문제를 해결하기 위해 Chrome을 시작하는 코드에 Chromium 경로를 포함 시켰습니다. 그러나 인터프리터는 연결할 소켓을 찾지 못했습니다.
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome('/usr/bin/chromium') # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 64, in start
raise WebDriverException("Can not connect to the ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'Can not connect to the ChromeDriver'
또한 다음을 사용하여 크롬을 시작하여 문제를 해결하려고했습니다.
크롬-원격 쉘 포트 = 9222
그러나 이것은 작동하지 않았습니다.
추신. 내 시스템에 대한 정보는 다음과 같습니다.
www-client : 크롬 15.0.874.121 dev-lang : python 2.7.2-r3 셀레늄 2.11.1 운영체제 : GNU / Linux Gentoo Kernel 3.1.0-gentoo-r1
답변
독립형 ChromeDriver 바이너리 (Chrome 브라우저 바이너리와 다른)가 경로에 있거나 webdriver.chrome.driver 환경 변수에 있는지 확인해야합니다.
연결 방법에 대한 자세한 내용 은 http://code.google.com/p/selenium/wiki/ChromeDriver 를 참조 하십시오 .
편집하다:
경로 또는 환경 변수 에서 크롬 드라이버 바이너리를 읽는 Python 바인딩의 버그 인 것 같습니다 . 크롬 드라이버가 경로에 없으면 생성자에 인수로 전달해야합니다.
import os
from selenium import webdriver
chromedriver = "/Users/adam/Downloads/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
driver.get("http://stackoverflow.com")
driver.quit()
답변
리눅스
- 최신 버전의 크롬 brwoser를 설치했는지 확인하십시오->
chromium-browser -version
- 그렇지 않은 경우 최신 버전의 크롬을 설치하십시오.
sudo apt-get install chromium-browser
- 여기 에서 적절한 버전의 크롬 드라이버를 얻으 십시오.
- chromedriver.zip을 압축 해제하십시오
- 파일을
/usr/bin
디렉토리로 이동sudo mv chromedriver /usr/bin
- Goto
/usr/bin
디렉토리cd /usr/bin
- 이제
sudo chmod a+x chromedriver
실행 가능으로 표시하는 것과 같은 것을 실행해야합니다 . -
마지막으로 코드를 실행할 수 있습니다.
from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.google.com") print driver.page_source.encode('utf-8') driver.quit() display.stop()
답변
Mac OSX 만
더 쉽게 갈 수있는 방법 (이미 homebrew가 이미 설치되어 있다고 가정하면 , 그렇지 않은 경우 먼저 시작하고 homebrew가 더 나은 삶을 살게해야 함)은 다음 명령을 실행하는 것입니다.
brew install chromedriver
크롬 드라이버를 경로에 넣으면 모든 설정이 완료됩니다.
답변
창문 용
에서 ChromeDriver 다운로드 이 직접 링크 또는 에서 최신 버전을 얻을 이 페이지를 .
chromedriver.exe
파일을 C:\Python27\Scripts
폴더 에 붙여 넣습니다 .
이것은 지금 작동해야합니다 :
from selenium import webdriver
driver = webdriver.Chrome()
답변
창문의 경우 chromedriver.exe
아래 에 배치 하십시오<Install Dir>/Python27/Scripts/
답변
Chrome에서 Selenium Python 테스트를 실행하는 방법에는 두 가지가 있습니다. Windows (내 경우에는 Windows 10)를 고려하고 있습니다.
전제 조건 : https://sites.google.com/a/chromium.org/chromedriver/downloads 에서 최신 Chrome 드라이버를 다운로드 하십시오.
방법 1 :
i) 선택한 디렉토리 / 위치에서 다운로드 한 zip 파일을 추출합니다.
ii) 다음과 같이 코드에서 실행 파일 경로를 설정하십시오.
self.driver = webdriver.Chrome(executable_path='D:\Selenium_RiponAlWasim\Drivers\chromedriver_win32\chromedriver.exe')
방법 2 :
i) chromedriver.exe를 / Python / Scripts /에 붙여 넣기 만하면됩니다 (제 경우 폴더는 C : \ Python36 \ Scripts입니다).
ii) 이제 다음과 같이 간단한 코드를 작성하십시오.
self.driver = webdriver.Chrome()
답변
Windows IDE의 경우 :
경로가 작동하지 않으면 chromedriver.exe
이 프로젝트 구조와 같이 프로젝트에 경로를 추가 할 수 있습니다 .
그런 다음 chromedriver.exe
주 파일에를 로드해야 합니다. 나에 관해서는 driver.exe
in을 로드 했습니다 driver.py
.
def get_chrome_driver():
return webdriver.Chrome("..\\content\\engine\\chromedriver.exe",
chrome_options='--no-startup-window')
..
driver.py's
상위 디렉토리를 의미
.
driver.py
는 위치한 디렉토리를 의미
이것이 도움이 되길 바랍니다.
