Selenium 기초 본문
** 동적 크롤링을 연습해보자
* 우선 유투브로 이동해보자
* 현재 브라우저의 창 크기 구해보기 , driver.get_window_size()
> 현재 셀레늄과 크롬 드라이버로 구동중인 브라우저의 창 크기에 따라서 값이 바뀐다.
* 이외에도
* 스크롤 가능한 높이 가져오기
> 자바 스크립트 코드 실행(driver.execute_script) + return document.body.scrollHeight ,
그러나 연습 케이스로 지정한 유투브에서는 0 ( 최상단 으로만 뜸 )
> 원래는 현재 페이지에서 가능한 스크롤 높이만큼 이동해야 하나, 현재 작동하지 않기 때문에 임의의 값 3,000으로 시행
> 페이지가 3000만큼 밑으로 이동됨.
> 이동은 window.scrollTo(0,0)
> 그리고 좌표 0,0 으로 이동하면 최상단으로 다시 이동됨
* 스크린샷 찍기 , driver.save_screenshot("path/name.png") 로 저장한다
* 특정 태그 지점까지 스크롤 이동하기.
> 개발자 모드로 원하는 지점의 xpath 를 복사, 이후 해당 경로로 이동
action = ActionChains(driver) 현재의 크롬 드라이버 변수명으로 액션을 시행할 것이다
action.move_to_element(scroll_point).perform() 그 액션은 페이지 요소로 이동을 하는 것 ( 만큼 ).
> 굳이 xpath 말고 css_selector 로 가도 되는데 그냥 xpath 복사하는게 빠르긴 하다
* 페이지 요소에 텍스트 입력하기, tag.send_keys("input")
> 유투브에서는 잘 못찾겠어서... 실행을 못하고 있다. 하지만 검색창 클릭 까지는 성공
* 검색창 클리어, tag.clear()
* 페이지 요소 클릭하기, tag.click()
* 브라우저 창 크기 조절
driver.set_window_size(가로,세로)
최대화, driver.maximize_window()
최소화, driver.minimize_window()
* 브라우저에서 앞 , 뒤로 이동하기
driver.foward()
driver.back()
* 현재 화면의 html 페이지 소스
driver.page_source()
이후에는 bs - html.parser로 파싱
'BF 2024 > 웹 데이터 수집' 카테고리의 다른 글
네이버 API 등록 및 사용 (0) | 2022.03.08 |
---|---|
Path , css 와 자손 태그 (0) | 2022.03.03 |
Selenium과 크롬드라이버 설치와 시행 (0) | 2022.03.03 |
웹 주소와 utf-8 인코딩 (0) | 2022.03.01 |
request & response, http 상태 코드 (0) | 2022.02.28 |