Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- codebuild
- 태국
- CSV
- 미츠이 스미토모
- Selenium
- 熱海
- pyenv
- 메르페이
- 체코
- documentdb
- terraform
- vba
- 페이페이
- PayPay
- 방콕
- Python
- 뮌헨
- PostgreSQL
- javascript
- 釜つる
- 三井住友カード
- local
- 프라하
- typescript
- duckdb
- 아타미
- node.js
- JenkinsFile
- react.js
- 카마츠루
Archives
- Today
- Total
도쿄사는 외노자
Selenium 환경 설정 본문
Selenium 환경 설정
Selenium
웹 브라우저 조작을 자동화하기 위한 프레임워크
환경구축
Python 인스톨
버전은 최신이면 됨 (난 3.10.0사용)
MacOS의 경우
기본적으로 Python이 깔려 있으나, 되도록이면 Python3을 설치하는 것을 추천.
brew install python3
Selenium 인스톨
Windows
pip install selenium
Mac
python3 -m pip install selenium
Chrome Driver 인스톨
우선 자신의 크롬 버전을 확인
설정에서 아래와 같이 버전 확인 가능
내 경우엔 98.0.4758.102 니까 버전 98을 받으면 된다.
pip install chromedriver-binary==98.*
원래는 직접 여기서 크롬드라이버를 DL해야 하지만,
어떤 친절한 사람이 이런 걸 만들어 줬으므로, 그냥 pip으로 해결했다.
※현재는 위의 링크가 죽은 것 같다. 이쪽을 참조.
Mac
맥의 경우는 그냥 brew로 설치 가능하다.
brew install chromedriver
설치 확인
chromedriver -v
구동 확인
소스코드
아래의 소스코드를 작성, test.py라는 이름으로 저장해 두자
import time
# MacOS의 경우는 import할 필요 없음
import chromedriver_binary
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
# WebDriver의 옵션 설정
options = webdriver.ChromeOptions()
# Headless Chrome을 사용하면, 화면을 띄우지 않고 테스트 실시
options.add_argument('--headless')
print('Connecting to remote browser...')
# 옵션을 사용할 경우엔 이런 식으로
# driver = webdriver.Chrome(options=options)
driver = webdriver.Chrome()
# Access
driver.get('https://www.naver.com')
print('first')
print(driver.current_url)
print(driver.title)
# 1. Naver
# 검색창을 찾아 검색어 입력
elm = driver.find_elements(By.ID, 'query')[0]
elm.send_keys('Selenium')
# 검색
# 검색 버튼 Element를 찾아 클릭
btn_elm = driver.find_elements(By.ID, 'search_btn')[0]
btn_elm.click()
# 새 탭 지정 : googl
# Google을 googl로 지정
driver.execute_script(
"(function() { " +
"window.open('https://www.google.com/', 'googl');" +
"})();"
)
# googl 탭 열기
driver.switch_to.window("googl")
print('googl')
print(driver.current_url)
print(driver.title)
# 검색창을 찾아 검색어 입력
search = driver.find_element(By.XPATH, "//input[@name='q']")
search.send_keys('Selenium')
# 검색
# 검색창에서 엔터키 누르기
search.send_keys(Keys.ENTER)
# 동작 확인을 위해 Sleep
# Selenium을 돌리는 데 있어서, 이런식으로 트릭키한 작업이 필요한 경우가 꽤 많다
# 특히 화면이동이나 검색 등의 확인도, 매번 sleep을 주어야 제대로 돌아간다
time.sleep(5)
# 브라우저 종료
driver.quit()
실행
저장해 둔 폴더에서
test.py
또는
python test.py
Mac
python3 test.py
'Tech > Selenium' 카테고리의 다른 글
XPATH 확인하기 (0) | 2022.02.21 |
---|---|
쿠키를 이용한 로그인 및 테스트 예시 (0) | 2022.02.21 |