7

나는 리눅스 컴퓨터에서 chromedriver을 사용하는 응용 프로그램을 가지고 있었고 응용 프로그램을 Windows 10 컴퓨터로 전환했습니다. 이제 갑자기 크롬 드라이브 파일을 찾을 수 없다는 말을 듣고 있습니다. 내가 바로 응용 프로그램의 기본 폴더에, 내 리눅스 머신에 있던 같은 장소에 chromedriver 파일을 배치Windows 10 컴퓨터에서 실행중인 응용 프로그램은 파일을 찾을 수 없습니다

Selenium::WebDriver::Error::WebDriverError in Static#home 
Showing C:/Users/User/Documents/test_app/app/views/static/home.html.erb where line #4 raised: 

    Unable to find chromedriver. Please download the server from  http://chromedriver.storage.googleapis.com/index.html and place it  somewhere on your PATH. More info at https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. 

:

여기에 오류가 있습니다. 이 경우 경로는 C:\Users\User\Document\test_app입니다. Windows가 Linux와 다른 방식으로 경로를 해석합니까?

크롬 드라이버는 latest release입니다. 제목은 "chromedriver_win32.zip"입니다. "승리"는 Windows를 의미합니다. "32"는 32 비트 시스템을 의미합니까? 내 컴퓨터는 64 비트입니다.

+0

예외에서 'PATH'는 환경 변수를 나타냅니다. 현재 디렉토리가'C : \ Users \ User \ Document \ test_app'가 아니기 때문에 문제가 발생한 것 같습니다. –

+0

@FlorentB. 정확한 디렉토리에서 레일 서버를 확실히 실행하고 있습니다. chromedriver를 사용하지 않는 내 페이지는 모두 작동합니다. –

답변

4

크롬 드라이버를 넣으면.귀하의 스크립트와 같은 폴더에있는 Chromedriver_win32.zip 폴더에 exe 파일을 넣으려면 driver_path을 해당 파일로 설정할 수 있습니다. 아래 코드를 참조하십시오 :

require "selenium-webdriver" 

Selenium::WebDriver::Chrome.driver_path = File.join(File.absolute_path('./', "Chromedriver_win32.zip/chromedriver.exe"))  
driver = Selenium::WebDriver.for :chrome 
driver.get "https://www.google.com.sg/" 
+0

우리가 간다, 고마워! –

1

나는 비교적 새로운 해요 이후로, 내가 잘 할 수있는 대답으로 그것을 넣어 강제로하고, 주석으로이 듯했지만 것 ...

실례를 나는 '경우 분명히 물어 보았지만 파일을 "압축 해제"하고 ".exe"파일을 해당 디렉토리에 넣으려고 했습니까? 당신이 언급 한 파일 (당신이 .. "chromedriver_win32.zip"이라는 제목의)은 Windows에서 실행 파일이 아닙니다. 찾고자하는 파일은 chromedriver.exe입니다.

+0

그래, 압축을 푼다. "Chromedriver_win32.zip"은 압축을 푼 폴더의 제목입니다. –

+0

죄송합니다. "Chromedriver_win32.zip"은 ZIPPED 폴더의 제목입니다. –

3

루비 또는 루비 온 레일에 대한 지식이 없습니다. Windows OS에서 java 또는 python과 동등한 것을 찾으십시오.

두 가지 방법 : 당신이 장소에서 크롬 드라이버를 유지할 수

  1. 가 (윈도우 10 환경 변수) PATH에 변수를 추가
  2. 는 프로그래밍 방식으로 실행 파일의 경로를 설정 chromedriver.exe
  3. 자바를 들어

:

System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver"); 

파이썬 : (우리는 C:\Python27\Scripts 위치에 chromedriver.exe를 유지합니다. 이 위치는 이미 Python (Activestate)이 설치 될 때 PATH 변수에 추가됩니다.

윈도우 PATH 환경 변수에 루비 설치 경로를 추가하고 chromedriver을 유지 : 경우에, chromedriver.exe는 다음과 같이 루비를 들어

driver = webdriver.Chrome('/path/to/chromedriver') # Optional argument, if not specified will search path. 

)를 지정할 수 있으며, PATH 위치 중 하나에없는 .exe 해당 위치에. (윈도우 PATH 변수에 지정된 위치에서 바이너리를 검색합니다.)

더 많은 정보 PATH에 https://stackoverflow.com/a/26947536

참조 루비 ​​설치 위치를 설정하는 방법에 :

  1. https://sites.google.com/a/chromium.org/chromedriver/getting-started
관련 문제