-
오토핫키 셀레니움, 실행중인 크롬에 연결프로그래밍/AutoHotKey 2022. 2. 20. 22:21반응형
안녕하세요 레오입니다.
오토핫키로 셀레니움을 사용중이신가요?
제가 처음 오토핫키로 셀레니움을 접했을때 실행중인 크롬에 연결을 못했고
"Chrome이 자동화된 테스트 소프트웨어에 의해 제어되고있습니다." 의 거슬리는 글자도 보이고
프로그램을 종료하면 크롬이 같이 꺼져버려서 불편했던 기억이 납니다.
이런 문제점을 해결하기 위해 이번 포스팅을 마련했습니다.
먼저 항상 크롬이 디버깅모드로 실행되어있어야하는데요
그러기 위해 평소 자주 실행하는 크롬의 바로가기를 약간 수정해주셔야됩니다.
맨 뒤에 스페이스바를 한번 누르시고 "--remote-debugging-port=9222" 를 입력해주시고 확인 버튼을 눌러주세요.
벌써 거의 다했습니다.
오토핫키에서 아래 코드를 추가해서 사용하시면 됩니다.
driver := ChromeGet() driver.get("https://naver.com") ChromeGet(IP_Port := "127.0.0.1:9222") { driver := ComObjCreate("Selenium.ChromeDriver") driver.SetCapability("debuggerAddress", IP_Port) driver.Start() return driver }
이런식으로 말이죠.
하지만 이대로 쓰시면 첫번째 탭이 연동되서 조금 불편하실겁니다.
그래서 저는 이렇게 사용하고있습니다
IfWinNotExist,ahk_class Chrome_WidgetWin_1 { run, "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "--remote-debugging-port=9222" a=0 } ; 크롬 켜져있는지 확인, 개인컴퓨터에따라 경로가 다를 수 있음. ; 크롬이 꺼져있으면 디버깅 모드로 크롬을 실행하고 a변수에 0저장 IfWinExist,ahk_class Chrome_WidgetWin_1 { WinActivate,ahk_class Chrome_WidgetWin_1 send,^t a=1 } ; 크롬 켜져있어서 ctrl+t로 새탭열고 a변수에 1저장 driver := ChromeGet() if(a=1) { driver.switchtonextwindow() ;크롬이 켜져있기때문에 새로만든 탭으로 전환 } sleep,500 driver.window.maximize() ;창 최대화 sleep,500 driver.get("https://naver.com") ;원하는 코드 ExitApp F11:: Reload return F12:: ExitApp return ChromeGet(IP_Port := "127.0.0.1:9222") { driver := ComObjCreate("Selenium.ChromeDriver") driver.SetCapability("debuggerAddress", IP_Port) driver.Start() return driver }
도움이 되셨으면 좋겠습니다.
더 좋은 방법이 있으시면 언제든지 알려주시면 고맙겠습니다!
반응형'프로그래밍 > AutoHotKey' 카테고리의 다른 글
크롬, 엣지 글씨체가 이상해요. (324) 2021.11.23 마우스 좌표는 어떻게 찾나요? (214) 2021.11.15 오토핫키에 셀레니움을 써보자 (319) 2021.10.20 피시방처럼 헤드셋 스피커 전환하기 개 쉽게 (1743) 2021.10.16 오토핫키 디컴파일러 (654) 2021.10.14