- Beautiful Soup 만으로 해결할 수 없는것
- 접근할 웹주소를 알 수 없을때
- 자바스크립트를 사용하는 웹페이지의 경우
- 웹 브라우저로 접근하지않으면 안될 때
from selenium import webdriver
driver = webdriver.Chrome('../driver/chromedriver.exe')
driver.get('https://www.naver.com')
last_height = driver.execute_script('return document.body.scrollHeight')
last_height
⇊
5737
driver.execute_script('window.scrollTo(0, document.body.scrollHeight);')
driver.execute_script('window.scrollTo(0,0);')
from selenium.webdriver import ActionChains
some_tag = driver.find_element_by_xpath('''//*[@id="content"]/div[3]/a[9]''')
action = ActionChains(driver)
action.move_to_element(some_tag).perform()
from selenium.webdriver import ActionChains
from selenium.webdriver.common.by import By
some_tag = driver.find_element(By.CSS_SELECTOR,'#content > div.cover-list > div > ul > li:nth-child(3) > a' )
action = ActionChains(driver)
action.move_to_element(some_tag).perform()
driver.함수 | 기능 |
---|---|
driver.maximize_window() | 화면 크기 최대로 설정 |
driver.minimize_window() | 화면 크기 최소로 설정 |
driver.set_window_size(가로,세로) | 입력한 가로,세로 크기만큼 화면설정 |
driver.refresh() | 새로고침 |
driver.back() | 뒤로가기 |
driver.forward() | 앞으로 가기 |
driver.close() | 탭 닫기 |
driver.quit() | 창 닫기 |
from selenium.webdriver.common.by import By
#클릭
first_content = driver.find_element(By.CSS_SELECTOR, '#content > div.cover-masonry > div > ul > li:nth-child(1)')
first_content.click()
driver.execute_script('window.open("http://www.naver.com")')
driver.switch_to.window(driver.window_handles[0])
driver.save_screenshot('../last_height.png')