!pip install koreanize-matplotlib import matplotlib.pyplot as plt import seaborn as sns import koreanize_matplotlib %matplotlib inline plt.plot([-1, 0, 1, 2]) # - 부호가 제대로 표기되는지 확인하기 위해 -1 ~ 2 사이 값 plt.title('그래프 한글 테스트') plt.show()
from selenium.webdriver.common.by import By
# 코드의 자료만 찾기
driver.find_element(By.XPATH, 'XPATH코드')
# 코드로된 모든 자료 찾기
driver.find_elements(By.XPATH, 'XPATH코드')
# 선택 가능한 옵션들
ID = "id"
NAME = "name"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
# 바뀐 코드에 적용할 경우
find_element(By.ID, "id")
find_element(By.NAME, "name")
find_element(By.XPATH, "xpath")
find_element(By.LINK_TEXT, "link text")
find_element(By.PARTIAL_LINK_TEXT, "partial link text")
find_element(By.TAG_NAME, "tag name")
find_element(By.CLASS_NAME, "class name")
find_element(By.CSS_SELECTOR, "css selector")
기존 : find_element_by_css_selector('tag')
현재 : find_element(BY.CSS_SELECTOR('tag'))
참고 : https://selenium-python.readthedocs.io/locating-elements.html
업그레이드관련 참고 사이트
selenium start : https://www.selenium.dev/documentation/
webDriver API : https://selenium-python.readthedocs.io/api.html
webdriver_manager install
selenium3 vs selenium4 참고자료
https://pypi.org/project/webdriver-manager/
import 선언
# 브라우저 종료
driver.quit()
# 화면 확대 크기 설정(스테이크, 함수)
driver.maximize_window()
# 화면 최소 크기 설정
driver.minimize_window()
# 화면 크기 설정
driver.set_window_size(1000, 1000)
# 새로고침
driver.refresh()
# 뒤로 가기
driver.back()
# 앞으로 가기
driver.forward()
# 새로고침
driver.refresh()
# 클릭
driver.find_element(By.CSS_SELECTOR, "css_selector코드").click()
# 새로운 탭 생성
driver.execute_script("window.open('site주소')")
# 탭 이동
driver.switch_to.window(driver.window_handles[2])
# 탭 이동 가능 갯수
len(driver.window_handles)
# 탭 닫기
driver.close()
# 전체 종료
driver.quit()
# 자바 스크립트 코드 이용
driver.execute_script
# 스크롤 가능한 높이(길이)
# 자바스크립트 코드 실행
# 화면 비율에 따라 높이는 달라질 수 있다
driver.execute_script('return document.body.scrollHeight')
# 화면 스크롤 하단 이동
driver.execute_script('window.scrollTo(0, document.body.scrollHeight);')
# 화면 보이는 화면 스크린샷 저장
driver.save_screenshot("./last_height.png")
# 화면 스크롤 상단 이동
driver.execute_script("window.scrollTo(0,0);")
참고 : https://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.action_chains
# 특정 태그 지점까지 이동
from selenium.webdriver import ActionChains
some_tag = driver.find_element(By.CSS_SELECTOR, "css_selector코드")
action = ActionChains(driver)
action.move_to_element(some_tag).perform()
# 지정장소에 키워드 입력
keyword = driver.find_element(By.CSS_SELECTOR, "css_selector코드")
keyword.send_keys('파이썬')
# 조회, 검색 버튼 클릭
search_btn = driver.find_element(By.CSS_SELECTOR, "#search-btn")
search_btn.click()
# 직전 검색어 지우고 재검색
keyword = driver.find_element(By.CSS_SELECTOR, "css_selector코드")
keyword.clear()
keyword.send_keys('딥러닝')
search_btn = driver.find_element(By.CSS_SELECTOR, "css_selector코드")
search_btn.click()
'//' : 최상위(경로중 최상위 루트)
'*' : 자손 태그(하위 태그-최상위태그의 두번쨰)
'/' : 자식 태그(최상위태그의 첫번쨰)
'div[1]' : div중에서 1번빼 태그
//*[@id="main_pack"]/section[1]/div/div[2]/panel-list/div/ul/li[3]/div/div/a
# 지정장소에 키워드 입력
driver.find_element(By.XPATH, '//*[@id="query"]').send_keys('xpath')
# 조회, 검색 버튼 클릭
bnt = driver.find_element(By.XPATH, '//*[@id="sform"]/fieldset/button')
bnt.click()
참고 : https://blog.naver.com/swimmingsdesign/223034723268