본문 바로가기

반응형

Selenium

(5)
[selenium] Driver info: driver.version: SelemiumDriver 상황 크롬으로 selenium을 돌리고 있었는데 갑자기 에러를 뿜으면서 멈추는 현상 문제 파악 chrome이 91로 업데이트 된다고 하여 chromeDriver.exe를 교체해주고 실행했으나 chrome은 그대로 89 or 90이라 에러가 발생했습니다. 해결 방법 크롬을 업데이트 합니다. 설정창) Chrome 정보 탭) 업데이트 후 크롬 재시작
[selenium] Command failed to close cleanly. Destroying forcefully (v2) 상황 selenium을 주기적으로 사용하던 과정에서 실행이 되지 않고 에러만 반복해서 출력하는 상황이 발생했습니다. 컴퓨터에 부하도 심해지고 정상적으로 동작하지 않으면서 메모리를 왕창 잡아먹은 상황이 되었습니다. 문제 파악 driver가 제대로 close 되지 않고 메모리를 잡아먹는 상황이 발생되었습니다. 소스 상에서 열려 있는 탭과 브라우저를 닫도록 했는데 최종적으로 마지막에 닫도록 수정했습니다. 해결 방법 소스상에서는 finally로 항상 마지막에 driver를 닫아주게끔 변경했습니다.
[selenium] selenium으로 크롬 확장 도구 사용하기 selenium을 사용하다보면 크롬 확장 도구를 이용한 테스트를 하는 경우가 발생합니다. selenium에서 크롬 확장 도구를 사용하는 방법입니다. 1. Chrome extension source viewer 설치 chrome.google.com/webstore/detail/chrome-extension-source-v/jifpbeccnghkjeaalbbjmodiffmgedin?hl=ko 2. 사용하고자 하는 확장 도구 페이지로 이동 아래 사진은 예시입니다. 사용하고자 하는 확장 도구로 이동해주세요 3. 페이지를 이동하면 CRX가 활성화되고 download as zip을 선택 4. 확장 프로그램 zip을 열어서 시작 페이지를 확인 파일명은 확장 프로그램의 아이디이며 selenium에서 사용할 때 필요합니..
[selenium] element is not attached to the page document 상황 selenium을 사용하던 중 발생한 오류입니다. 엘리먼트를 서칭하던 중 해당 도큐먼트를 찾지 못해서 생긴 오류입니다. 특히나 간헐적으로 나타나는 현상으로 특정 상황에만 발생하는 걸로 추측해볼 수 있습니다. 문제 파악 페이지가 다 뜨기 전에 해당 도큐먼트를 실행하거나 찾으려고 했을 때 못찾는 걸로 문제의 초점을 맞췄습니다. 해결 방법 implicitWait를 주면 되는줄 알았으나 120초를 주어도 300ms에서 오류가 나는걸 봐서는 전체적으로 핸들링이 되지 않는 방법인거 같습니다. 그래서 Thread.sleep으로 페이지가 로딩 될 때까지 기다립니다.
[selenium] 시크릿 모드와 프록시 설정 selenium을 사용하다보니 시크릿모드와 프록시를 사용해야 상황에서 사용합니다. 프록시를 여러개 바꿔서 설정하고 크롬 옵션을 같이 사용하려면 "DesiredCapabilities"을 사용하면 됩니다. 자바 this.driverId = "webdriver.chrome.driver"; this.driverPath = path + "chromedriver.exe"; System.setProperty(this.driverId, this.driverPath); // 드라이버 설정 ChromeOptions cOptions = new ChromeOptions(); // 크롬 옵션 cOptions.addArguments("disable-infobars"); cOptions.addArguments("--js-flags..

반응형