반응형

파이썬(Python)/웹스크롤링 13

파이썬 Selenium 페이지 로딩 대기하는 방법

최근 웹 어플리케이션은 AJAX를 많이 사용한다. 즉, 페이지 전체를 로딩하는 것이 아닌 일부만 서버와 AJAX 통신을 하는 것이다. 그래서 브라우져에서 페이지를 로딩시 페이지에 element 들이 다른 시간대에 도착할 수 있다. 만일 페이지는 불렀고 우너하는 element가 아직 로딩 안된 상태에서 해당 위치를 selenium으로 찾으려고 하면 실패한다. ElementNotVisibleException 를 리턴해주게 된다. 셀레늄에는 두가지 방법으로 원하는 element가 로딩되는 시간을 기다려 준다. - Explicit Waits - Implicit Waits 1. Explicit Waits Explicit Waits 는 파이썬 개발자가 정한 조건이 될때까지 기다렸다가 되면 다음으로 진행한다. 조건문..

셀레늄(Selenium) id, name, xpath, link_text, partial_link_text, tag_name, class_name, css_selector 로 엘리먼트(elements) 찾기 및 실습

웹 페이지 element를 찾는 방법은 여러가지가 있다. 사용자는 셀레늄을 사용해서 가장 적절한 방법으로 찾으면 된다. Selenium 에서는 아래 방법들을 통해 element를 찾을 수 있게 도와 준다. - find_element_by_id - find_element_by_name - find_element_by_xpath - find_element_by_link_text - find_element_by_partial_link_text - find_element_by_tag_name - find_element_by_class_name - find_element_by_css_selector 여러개의 element를 리스트형의 리턴으로 받으려면 아래 방법을 사용하면 된다. - find_element_by_..

xpath란

요즘 나오는 웹페이지들은 마우스 오른쪽 클릭으로 아래 그림 처럼 페이지 소스 보기를 하면 복잡한 코드를 확인할 수 있다. 웹 크롤링이나 웹 자동화를 위해서는 특정 부분의 조작이나 정보를 가져와야 하는데 이를 구분 짓기 쉽게 해주는 것이 xpath이다. 한마디로 모든 코드들이 가지는 unique 한 주소 값 정도로 생각하면 되겠다. xpath를 가져오는 방법은 아래와 같다. 나는 크롬만 사용하므로 크롬 기준으로 설명하겠다. 우선 크롬에서 원하는 웹페이지를 들어 간다. 그리고 오른쪽 상단에 점 세개 있는 부분을 클릭하면 도구 더보기 >> 개발자 도구 로 들어 간다. 대표사진 삭제 사진 설명을 입력하세요. 또는 웹 화면에서 마우스 오른쪽 클릭 하여 검사를 클릭 한다. 대표사진 삭제 사진 설명을 입력하세요. 그..

반응형