RUBY
[WebData][Oil] 2. Selenium 기초 본문
웹 데이터 수집하고 정리하기
Oil Price Analysis and Green construction
2. Selenium 기초
셀레니움을 이용해보자..
1.
- 크롬드라이버 실행
- webdriver.Chrome 명령으로 크롬 드라이버의 경로 지정
- get 명령으로 접근하고 싶은 주소 지정
!pip install selenium
2.
이 놈은 무엇인가... 아.... 최신버전에서는 다른 설치 방법을 권장한단다.
그럼 최신으로 해야지!
! pip install webdriver_manager
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium import webdriver
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get("https://pinkwink.kr/") # get 명령으로 접근하고 싶은 주소 지정
3. 현재 브라우저 창 크기
driver.get_window_size()
4.
driver.get_window_rect()
5.
- 스크롤 가능한 높이(길이)
- 자바스크립트 코드 실행
last_height = driver.execute_script("return document.body.scrollHeight")
last_height
6. 화면 스크롤
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
7. 스크린샷
driver.save_screenshot("./last_height.png")
8. 스크롤 상단 이동
driver.execute_script("window.scrollTo(0, 0);")
9.
from selenium.webdriver.common.by import By
some_tag = driver.find_element("name", "comment")
some_tag.send_keys("jieun")
10. 특정 태그 지점까지 스크롤 하는 코드
from selenium.webdriver.common.by import By
some_tag =driver.find_element(By.XPATH, '//*[@id="mArticle"]/div[11]/span/a[8]')
action = ActionChains(driver)
action.move_to_element(some_tag).perform()
11. 브라우저 창 크기 조절(현재 보이는 화면에서만 액션을 취할 수 있습니다)
driver.set_window_size(1920, 1080)
12. 화면 최대화
driver.maximize_window()
13. 화면 최소화
driver.minimize_window()
14. 입력 창에 글자 넣기(화면에 보이지 않으면 입력할 수 없습니다)
some_tag = driver.find_element("name", "comment")
some_tag.send_keys("jieun")
15. 새로 입력하면 뒤에 추가로 붙음
some_tag.send_keys("Ruby")
16. 초기화 후 검색어 입력
some_tag.clear()
some_tag.send_keys("jieun")
17. xpath 버튼 클릭 실행하기
xpath = '//*[@id="mArticle"]/div[11]/span/a[8]'
some_tag = driver.find_element(By.XPATH, '//*[@id="mArticle"]/div[11]/span/a[8]').click()
18. 현재 화면의 html 코드 가져오기
driver.page_source
'데이터 분석 > EDA_웹크롤링_파이썬프로그래밍' 카테고리의 다른 글
[WebData][Oil] 4. 데이터 접근하기 (0) | 2023.02.06 |
---|---|
[WebData][Oil] 3. 데이터 확보하기 (0) | 2023.02.06 |
[WebData][Oil] 1. Selenium 설치 (0) | 2023.02.05 |
[WebData][Movie] 3. 영화 평점 데이터 정리 (0) | 2023.02.05 |
[WebData][Movie] 2. 자동화를 위한 코드 (0) | 2023.02.05 |
Comments