지난 주 최신 크롬 (34.0.1847.116) 릴리스 이후 watir-webdriver를 사용하여 자동 테스트를 실행할 때“개발자 모드 확장 사용 중지”가 표시되었습니다.
이것은 공격적인 확장으로 보이지만 크롬 드라이버가 사용했을 때 잠재적으로 위험한 확장이라는 것은 의미가 없습니다.
이전 버전으로 롤백 할 수 없거나 롤백 할 이전 버전의 설치 프로그램을 찾을 수 없으므로이 문제를 해결 한 사람이 내 테스트에 혼란을 겪고 있습니다.
답변
공식적인 방법 팝업을 해제 할 수는 이것이다 :
-
확장 프로그램 포장 :로 이동하여
chrome://extensions
확인 Developer mode하고 클릭하십시오.Pack extension -
.crx
파일을chrome://extensions
페이지 로 끌어서 놓아 확장 프로그램을 설치 하십시오.
이 시점에서 Chrome을 다시 시작하면 ‘지원되지 않는 확장 프로그램 사용 중지됨’팝업이 표시됩니다.
그런 다음 Windows 7 또는 Windows 8의 경우 :
- 여기에서 Chrome 그룹 정책 템플릿을 다운로드 하십시오.
- 복사
[zip]\windows\admx\chrome.admx
에c:\windows\policydefinitions
- 복사
[zip]\windows\admx\[yourlanguage]\chrome.adml
에c:\windows\policydefinitions\[yourlanguage]\chrome.adml
(안c:\windows\[yourlanguage]
) - Chrome에서 확장 프로그램 페이지로 이동하십시오.
chrome://extensions
- 검사 Developer Mode
- 비활성화 된 확장 목록을 아래로 스크롤하여 활성화하려는 확장의 ID를 확인하십시오.
- Start>을 클릭 하고을 Run입력
gpedit.msc
하고 누르십시오 enter. - 클릭 User Configuration> Administrative Templates> Google Chrome>Extensions
- 더블 클릭 Configure extension installation whitelist정책
- 를 선택 Enabled하고 클릭Show
- 목록에서 7 단계에서 적어 둔 확장 프로그램의 ID를 입력하십시오.
- 클릭 OK하고 Chrome을 다시 시작 하십시오 .
그게 다야!
편집 : 2018 년 7 월 현재이 접근법은 더 이상 작동하지 않습니다 .Google이 “허용 목록”을 인정하지 않는 것 같습니다.
편집 2 : 2018 년 12 월 현재이 접근법은 다음에서 작동합니다 Chrome Version 69.0.3497.100 (Official Build) (64-bit)
.
-
일시적으로 활성화 Developer mode에
chrome://extensions
-
를 사용하여 팝업을 유발하는 확장 프로그램을 제거하십시오 Load unpacked.
-
를 클릭 Pack extension하고 확장 파일이 들어있는 폴더를 찾아서 선택하십시오. 개인 키 파일이 없으면 입력하지 마십시오.
-
를 클릭하십시오 Pack extension.
.crx
및.pem
파일은 확장자의 루트 디렉토리 근처에 생성됩니다..crx
파일을 사용하여 확장을 설치하고.pem
파일을 안전하게 유지하십시오 . -
.crx
설치된 확장 프로그램 ID를 화이트리스트에 복사하고 Chrome을 다시 시작하십시오.
팝업이 사라져야합니다.
답변
크롬 드라이버를 만드는 동안 옵션을 사용하여 비활성화하십시오. 확장없이 작동합니다.
다음 코드 스 니펫 사용
ChromeOptions options = new ChromeOptions();
options.addArguments("chrome.switches","--disable-extensions");
System.setProperty("webdriver.chrome.driver",(System.getProperty("user.dir") + "//src//test//resources//chromedriver_new.exe"));
driver = new ChromeDriver(options);
답변
현재 2015년 5월 크롬 베타 / dev에 / 카나리아 Windows에서 항상이 경고를 표시 (라인 75-78 참조).
-
방금 hiew32 데모 버전을 사용하여 chrome.dll (dev 채널, 32 비트)을 패치했습니다. 실행하고 16 진수보기 (Enter 키)로 전환하고 ExtensionDeveloperModeWarning (F7)을 검색 한 다음 F6을 눌러 참조 코드를 찾으십시오. 근처의 INC EAX 행 뒤에 RETN이 오면 F3을 눌러 편집하고 40 대신 90을 입력하면 NOP (no-op)로 표시되고 저장 (F9)됩니다.
-
@Gsx에서 찾은 단순화 된 방법으로 64 비트 Chrome 개발자에서도 작동합니다.
- hiew32 데모 (관리자 모드)를 실행하고 Chrome.dll을 엽니 다
- 16 진보기로 전환 (
Enter
키) - 검색 ExtensionDeveloperModeWarning (
F7
) - 프레스
F3
첫 번째 문자 “E”를 다른 문자로 편집하고 바꾸려면을 - 저장 (
F9
).
-
patch.BAT
스크립트
물론 이것은 다음 업데이트 때까지만 지속되므로 자주 필요한 사람은 자동 패치 또는 메모리에 dll을 패치하는 실행기를 작성할 수 있습니다.
답변
비활성화 할 수 없습니다. 인용 : “죄송 합니다만, 귀하는 악성 코드 작성자입니다 …”
유일한 옵션은 다음과 같습니다.이 새로운 동작에 자동 테스트를 적용하거나 문제가되는 스크립트를 Chrome 웹 스토어에 업로드합니다 ( “비공식”방식으로 수행 할 수 있음).
답변
(Antony Hatchkins에 대한 답변)
다음은 Chrome 정책을 설정하는 문자 그대로 공식적인 방법입니다.
https://support.google.com/chrome/a/answer/187202?hl=ko
https://dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip(Google 크롬 템플릿의 ZIP 파일)에서 Windows 및 Linux 템플릿과 모든 운영 체제에 대한 일반적인 정책 설명서를 찾을 수 있습니다
및 문서)
Windows에 대한 지침 (내 추가 사항 포함) :
다운로드 한 ADM 또는 ADMX 템플릿을 엽니 다.
- 앞서 다운로드 한 “policy_templates.zip”에서 선택한 언어로 “chrome.adm”을 추출하십시오 (예 : “policy_templates.zip \ windows \ adm \ en-US \ chrome.adm”).
- 시작> 실행 : gpedit.msc로 이동하십시오.
- 로컬 컴퓨터 정책> 컴퓨터 / 사용자로 이동 구성> 관리 템플릿으로 이동하십시오.
- 관리 템플릿을 마우스 오른쪽 버튼으로 클릭하고 템플릿 추가 / 제거를 선택합니다.
- 대화 상자를 통해 “chrome.adm”템플릿을 추가하십시오.
- 완료되면 ADM (Classic Administrative Templates) / Google / Google Chrome 폴더가 관리 템플릿 아래에 나타납니다.
- 컴퓨터 구성 또는 사용자 구성에서 템플릿을 추가하든 관계없이 설정이 두 곳에 표시되므로 기기 또는 사용자 수준에서 Chrome을 구성 할 수 있습니다.
이 작업이 끝나면 Antony Hatchkins의 답변 5 단계부터 계속하십시오 . 확장 프로그램 ID를 추가 한 후 chrome://policy
( ExtensionInstallWhitelist 검색)을 열어 Chrome에서 정책이 작동 중인지 확인할 수 있습니다 .
답변
확장 프로그램 비활성화 설정이 작동하지 않았습니다. 대신 로봇 클래스를 사용 하여 취소 버튼을 클릭했습니다.
import java.awt.Robot;
import java.awt.event.InputEvent;
public class kiosk {
public static void main(String[] args) {
// As long as you don't move the Chrome window, the Cancel button should appear here.
int x = 410;
int y = 187;
try {
Thread.sleep(7000);// can also use robot.setAutoDelay(500);
Robot robot = new Robot();
robot.mouseMove(x, y);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
Thread.sleep(3000);// can also use robot.setAutoDelay(500);
} catch (AWTException e) {
System.err.println("Error clicking Cancel.");
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
답변
Chrome-Developer-Mode-Extension-Warning-Patcher를 사용하는 대체 솔루션이 있습니다 .
- 여기 에서 최신 릴리스를 다운로드 하십시오 Github에서에서.
- Chrome을 닫습니다.
- zip 아카이브의 압축을 풀고 관리자로 ChromeDevExtWarningPatcher.exe 를 실행하십시오. .
- 방금 연 GUI에서 Chrome 설치를 선택한 다음 패치 버튼을 클릭하십시오.
- DevMode 팝업없이 Chrome을 즐기십시오!