셀레니움 크롬 웹드라이버로 웹크롤링시 호환성보기문제
조회수 1669회
IE(11버전)로 특정 사이트에 가면, (로그인후 ) 폼양식에서 파일 업로드 버튼이 화면에 보이지 않는 경우가 있습니다. 또는 폼 양식에 데이터를 모두 입력하고 전송을 위해 '확인' 버튼을 클릭하면, 클릭이 되지 않는 경우도 있습니다.(당연히 데이터 전송은 안됨) 그래서 해당 사이트 담당자에게 문의하니 , ie의 '호환성 보기'에서 해당 사이트를 등록하면 된다고 하여, 그대로 설정을 해보니 안보이던 '파일선택' 버튼도 보이고, 확인 버튼도 정상적으로 클릭이 되었습니다.
그런데 이 사이트를 크롬에서 보면 똑같은 문제가 발생합니다. 그래서 크롬의 확장프로그램을 깔면 정상적으로 보이고 클릭도 됩니다. 그러나 크롬 웹드라이버로 스크랭핑 혹은 크롤링 하면서 엘리멘트를 추출하려고 할 때 확장프로그램이 적용된 내용이 아니라 확정프로그램 적용 전의 내용대로 보이기 때문에, 해당 사이트에서 폼양식에서 파일을 선택하고 데이터를 입력해서 전송하는 일을 자동화시킬 수 없습니다.
이처럼 크롬에서 호환성문제(?)로 보이지 않거나 클릭이 안되는 엘리멘트의 경우 셀레니움으로 코딩하기 위해서는 어떻게 해야 해결가능할까요?
requests모듈을 사용해야 되나요?
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
질문의 내용을 이해할 수가 없습니다. "호환성보기를 설정하면 IE에서는 잘보이고(파일선택 버튼) 또 보이기는 하지만 클릭이 안되는 버튼도 클릭이 되는데," 대체 무슨 말입니까...클릭이 안되는 버튼도 클릭이 된다...
일단 selenium 은 마술이 아닙니다. 브라우져를 컨트롤하여 컨텐츠를 얻자는 겁니다.
즉 chrome 브라우져로 올바르게 렌더링이 되지 못하는 사이트라면 chrome driver 를 이용해도 깨지는 결과를 얻습니다.
보통 그런 경우 과거 표준을 무시했던 ie 에 맞춰져 개발된 사이트일 가능성이 큽니다.
이런 사이트는 ie driver 을 활용해야 합니다.
http://learn-automation.com/how-to-run-selenium-webdriver-test-in-ie-browser/
상기 주소를 참고하시기 바랍니다.
댓글 입력