본문으로 바로가기

selenium 설치 및 간단한 이용법

category Crawler/Crawler 2020. 9. 7. 12:13

공식 문서가 그렇게 길지 않으니 살펴봅시다.

 

Selenium with Python — Selenium Python Bindings 2 documentation

Note This is not an official documentation. If you would like to contribute to this documentation, you can fork this project in Github and send pull requests. You can also send your feedback to my email: baiju.m.mail AT gmail DOT com. So far 40+ community

selenium-python.readthedocs.io

 

 

1. 설치를 위한 가상 환경 세팅 및 설치

 

아무거나 사용하셔도 됩니다. 저는 pipenv를 사용했습니다. 최근엔 conda 내에서 합니다.

darrengwon.tistory.com/341?category=858371

 

pipenv 가상 환경에 들어와 있는지 제대로 확인합시다.

당연히 가상 환경 내에 설치했으므로 인터프리터 선택도 신경써줘야 합니다.

 

Ctrl + Shift + P 누르고 Python: Select Interpreter 선택 > 방금 생성한 가상환경의 Scripts/python.exe를 선택

 

 

이제 설치를 진행해봅시다.

pipenv install selenium

 

웹 드라이버를 위한 binary 파일을 다운로드하기 위해 webdriver_manager 패키지를 이용합시다.

사용 방법은 공식 github 페이지를 살펴보도록 합시다. 

github.com/SergeyPirogov/webdriver_manager

pipenv install webdriver_manager

 

주피터 노트북에서 진행하신다면 위와 같이 설치해도 안될겁니다.

chromedriver.chromium.org/downloads

직접 zip 파일을 받아 압축을 풀어 주피터 노트북이 사용하는 경로(주로 유저 경로죠)에 exe를 넣어준 후 

해당 경로를 driver에게 직접 제공해야 합니다.

PATH = "../chromedriver.exe"
driver = webdriver.Chrome(PATH)

 

 

2. hello world 코드 작성

 

./main.py

웹 브라우저 중에는 Chrome을 사용하겠습니다.

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

browser = webdriver.Chrome(ChromeDriverManager().install())

browser.get("https://google.com")

 

 

 

실행

python main.py

 

실행 결과 자동으로 봇 시점의 크롬 브라우저가 뜨고, google로 접속한 것을 확인할 수 있습니다.

 

 

3. 간단한 예시

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from webdriver_manager.chrome import ChromeDriverManager

browser = webdriver.Chrome(ChromeDriverManager().install())

# google로 접속
browser.get("https://google.com")

# 검색창 찾은 후 입력, 엔터
search_bar = browser.find_element_by_class_name("gLFyf")
search_bar.send_keys("hello")
search_bar.send_keys(Keys.ENTER)

# 찾아낸 결과물 g를 찾은 후 h3 태그에 든 text 추출
search_results = browser.find_elements_by_class_name("g")
for search_result in search_results:
    title = search_result.find_element_by_tag_name("h3")
    if title.text:
        print(title.text)


# 브라우저를 닫습니다.
browser.quit()

 


darren, dev blog
블로그 이미지 DarrenKwonDev 님의 블로그
VISITOR 오늘 / 전체