키를 보내는 동안 아래 오류가 발생합니다.
결과 메시지 :
System.InvalidOperationException : unknown error: call function result missing 'value'
(Session info: chrome=65.0.3325.146)
(Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.14393 x86_64)
크롬 드라이버를 2.36으로 업데이트했지만 여전히 2.33에 대한 코드 검색이 있습니까?
어떤 생각?
답변
동일한 오류가 발생했습니다. 마지막 ChromeDriver 버전을 다운로드하거나 Chrome 브라우저 버전을 업데이트하면 정상적으로 작동합니다. 🙂
https://chromedriver.storage.googleapis.com/index.html?path=2.36/
답변
Google Chrome 브라우저를 버전 65.0.3325.146 (공식 빌드) (64 비트)로 업데이트 한 후 입력 필드에 값을 보내는 동안 동일한 오류가 발생합니다. 다음은 오류 메시지입니다.
selenium.common.exceptions.WebDriverException: Message: unknown error: call function result missing 'value'
Chromedriver 2.32 및 Google Chrome 65.0 사용
이에 대해 몇 가지 조사를 하면서 문제 해결에 도움이되는 Google 크롬 v65 변경 로그에 대한 최근 커밋 을 발견했습니다 .
해결책:
- Google 크롬을 최신 안정 버전으로 업데이트합니다 (제 경우에는 2018 년 3 월 9 일의 v65).
-
최신 chromedriver (v2.36)를 다운로드하고 구성합니다. chromedriver를 구성하려면 (Ubuntu에서) 다음 단계를 따르세요.
- 다운로드 한 zip 파일을 추출합니다.
- 추출 된 chromedriver 파일을 / usr / local / bin 또는 일반적으로 실행 가능한 바이너리를 저장하는 위치에 복사합니다 .
- 환경 변수 PATH에 동일한 경로 (chromedriver 파일을 배치하는 위치)를 다음과 같이 추가합니다.
내보내기 PATH = $ PATH : / usr / local / bin
- 설치를 테스트하려면 터미널을 다시 시작하고 다음 명령을 입력하십시오.
chromedriver-버전
방금 설치 한 chromedriver 버전이 표시됩니다.
참고 : chromedriver가 이미 설치 및 구성된 경우 기존 드라이버 파일을 교체하고 Chromedriver 바이너리가 이미 저장된 위치를 모르는 경우 다음 명령을 사용하여 파일을 찾습니다.
sudo find -H / -type f -iname chromedriver
답변
크롬 브라우저 버전이 64.xx에서 65.xx로 업데이트 되었기 때문입니다.
이제 테스트를 성공적으로 실행할 수있는 두 가지 옵션이 있습니다.
-
크롬 브라우저를 이전 버전과 현재 가지고있는 이전 크롬 드라이버로 다운 그레이드하세요.
-
업데이트 된 Chrome 브라우저를 사용하여 Chromedriver를 2.36 버전으로 업그레이드하세요.
https://chromedriver.storage.googleapis.com/index.html?path=2.36을 방문 하여 새 chromedriver를 다운로드 하세요 .
옵션 2가 더 좋습니다.
답변
ChromeDriver.exe를 최신 버전으로 교체하세요. Google에서 쉽게 다운로드 할 수 있습니다.
또한 아래에 설명 된대로 webDriver 관리자를 사용하여 자동으로 수행하는 것이 더 좋습니다. 1. 프로젝트 POM에 Mvn 종속성을 추가합니다.
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>${webdrivermanager.version}</version>
<scope>test</scope>
</dependency>
- 이제 브라우저 인스턴스화 클래스에서 System.setProperty (belwo 참조)를 사용하여 드라이버를 만드는 전통적인 방법 을 사용하는 대신 …
System.setProperty ( “webdriver.chrome.driver”, “src / test / resources / drivers / chromedriver.exe”);
아래 접근 방식을 사용하십시오.
WebDriverManager.chromedriver (). setup ();
webDriver = new ChromeDriver (chromeOptions);
그리고 그게 전부입니다!
참조를 위해 아래 링크를 사용하십시오-
브라우저 바이너리 관리자는 무엇입니까 Selenium에 사용하는 방법
또는 chkout git project for same-
https://github.com/bonigarcia/webdrivermanager#webdrivermanager-as-java-dependency
답변
chromedriver 업데이트 필요 : 콘솔에서 다음을 실행합니다. chromedriver-update 2.36
답변
오류는 모든 것을 말합니다.
System.InvalidOperationException : unknown error: call function result missing 'value'
(Session info: chrome=65.0.3325.146)
(Driver info: chromedriver=2.33.506120
이 오류는 InvalidOperationException 에 대해 명확하게 불평 합니다.
주요 문제는 다음과 같이 사용중인 바이너리 간의 버전 호환성입니다 .
- chromedriver = 2.33을 사용 중입니다.
- chromedriver = 2.33 의 출시 노트 에는 다음 내용이 명시되어 있습니다.
Chrome v60-62 지원
- 당신은 사용하고 있습니다 크롬 = 65.0을
- ChromeDriver v2.37 출시 노트 에는 다음 내용이 명시되어 있습니다.
Chrome v64-66 지원
- 귀하의 셀레늄 클라이언트 버전은 우리에게 알려져 있지 않다.
따라서 ChromeDriver 버전 ( v2.33 )과 Chrome 브라우저 버전 ( v65.0 ) 간에 분명한 불일치가 있습니다. )
해결책
- Selenium 을 현재 레벨 버전 3.11.0으로 업그레이드 하십시오 .
- ChromeDriver 를 ChromeDriver v2.37 수준으로 업그레이드 합니다.
- Chrome v64.x-66.x 레벨 사이에 Chrome 버전을 유지 합니다. ( ChromeDriver v2.37 출시 노트에 따름 )
- 청소 당신의 프로젝트 작업을 당신을 통해 IDE 및 재 구축 에만 필요 종속성이 프로젝트를.
- CCleaner 도구를 사용 하여 테스트 스위트 실행 전후의 모든 OS 집안일을 지우십시오 .
- 기본 웹 브라우저 / 웹 클라이언트 버전이 너무 오래된 경우 Revo Uninstaller를 통해 제거 하고 최신 GA 및 릴리스 된 웹 브라우저 / 웹 클라이언트 버전을 설치하십시오 .
- 당신의 실행
@Test
.
답변
Mac을 사용하는 경우 :
brew upgrade selenium-server-standalone
brew upgrade chromedriver
위의 두 가지가 설치되지 않은 경우 :
brew install selenium-server-standalone
brew install chromedriver