[ Python ] 파이썬 selenium 크롤링 페이지 위치 값 읽기 - selenium.webdriver.common.by
1. Python Selenuim 설치
pip install selenium
2. Python Selenium 브라우저 실행
from selenium import webdriver
from selenium.webdriver.common.by import By
# 크롬 실행
Chrome = webdriver.Chrome('./chromedriver')
# 3초 대기
Chrome.implicitly_wait(3)
# 네이버 사이트 이동
Chrome.get('http://www.naver.com')
3. 웹 브라우저 검사 페이지 진입
브라우저 [우 클릭]
검사 [클릭]
4. 검사 툴 Elements 소스 에서 위치 찾기
마우스를 가져가면 현재 가리키고 있는 위치 선택
Seleect an element in the page to inspect it [클릭]
페이지 에서 원하는 위치 [선택]
6. 페이지 위치 가져오기 종류
class By:
"""Set of supported locator strategies."""
ID = "id"
XPATH = "xpath"
LINK_TEXT = "link text"
PARTIAL_LINK_TEXT = "partial link text"
NAME = "name"
TAG_NAME = "tag name"
CLASS_NAME = "class name"
CSS_SELECTOR = "css selector"
7. ID 데이터 찾기
# ID 데이터 가져오기
VarElement = Chrome.find_element(By.ID, 'shortcutArea')
# text 가져오기
StrText = VarElement.text
print(StrText)
메일
카페
블로그
쇼핑
뉴스
증권
부동산
지도
웹툰
바로가기 펼침
8. XPATH 데이터 찾기
검색 위치 Elements [우 클릭]
Copy [클릭]
Copy XPath [클릭]
Python [붙여넣기]
# XPATH 데이터 가져오기
VarElement = Chrome.find_element(
By.XPATH, '//*[@id="shortcutArea"]/ul/li[3]/a/span[2]')
# text 가져오기
StrText = VarElement.text
print(StrText)
블로그
9. LINK_TEXT 데이터 찾기
TEXT 찾아 다른 정보 가져오기
# LINK_TEXT 데이터 가져오기
VarElement = Chrome.find_element(
By.LINK_TEXT, '뉴스스탠드')
# text 가져오기
StrText = VarElement.id
print(StrText)
8A4A4F559DCB83D642A795A38AF04AAA_element_18
10. PARTIAL_LINK_TEXT 데이터 찾기
TEXT 데이터 부분적 찾기
# PARTIAL_LINK_TEXT 데이터 가져오기
VarElement = Chrome.find_element(
By.PARTIAL_LINK_TEXT, '뉴스스')
# text 가져오기
StrText = VarElement.id
print(StrText)
8A4A4F559DCB83D642A795A38AF04AAA_element_18
11. NAME 데이터 찾기
이름 찾아 데이터 삽입
# NAME 데이터 값 넣기
VarElement = Chrome.find_element(
By.NAME, 'query').send_keys('이름 찾기')
12. TAG_NAME 데이터 찾기
XPATH 범위를 좁히고 TAG_NAME 찾기
# XPATH 데이터 값 넣기
VarElementXPATH = Chrome.find_element(
By.XPATH, '//*[@id="shortcutArea"]/ul')
# TAG_NAME 데이터 값 넣기
VarElement = VarElementXPATH.find_element(
By.TAG_NAME, 'li')
# text 가져오기
StrText = VarElement.text
print(StrText)
메일
13. CLASS_NAME 데이터 찾기
# CLASS_NAME 데이터 값 넣기
VarElement = Chrome.find_element(
By.CLASS_NAME, 'shortcut_list')
# text 가져오기
StrText = VarElement.text
print(StrText)
메일
카페
블로그
쇼핑
뉴스
증권
부동산
지도
웹툰
바로가기 펼침
14. CSS_SELECTOR 데이터 찾기
CLASS_NAME 앞 TAG_NAME 넣어서 찾기
# CSS_SELECTOR 데이터 값 넣기
VarElement = Chrome.find_element(
By.CSS_SELECTOR, 'ul.shortcut_list')
# text 가져오기
StrText = VarElement.text
print(StrText)
메일
카페
블로그
쇼핑
뉴스
증권
부동산
지도
웹툰
바로가기 펼침
==========
댓글
댓글 쓰기