Link
10-24 09:47
«   2020/10   »
        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
Archives
Today
300
Total
1,084,506
관리 메뉴

꿈 많은 사람의 이야기

파이썬 셀레니움 설치해보기 본문

python

파이썬 셀레니움 설치해보기

이수진의 블로그 이수진의 블로그 2017. 11. 20. 09:28

 

파이썬에서 웹 크롤링을 하다보면 자동화 처리를 하고 싶을때가 있습니다

예를 들어 유튜브처럼 마우스 스크롤을 내려야 동영상 목록이 더 나오고 하는 등의 작업에서요

이럴때 크롤링을 하려면 화면 내리고 하는 작업을 할 때가 있습니다

이런걸 자동으로 할 수 없을까?

이것을 지원해주는 것이 셀레니움입니다

셀레니움은 웹 드라이버를 이용해서 접근하는데요

코드를 구성해서 실행하면 해당 웹 드라이버를 통해 웹 페이지에 접속해서 작업을 진행합니다

 

 

간단하게 설치하는 법을 알아볼까 합니다

그리고 테스트도 진행해볼게요

먼저 cmd창에서 파이썬이 설치된 경로로 이동합니다

cd 이동경로

로 이동하시면 됩니다

 

그리고 pip가 설치된 Scripts 폴더로 이동하세요

이후 pip install selenium을 이용해서 설치합니다

 

 

이렇게 설치가 될거에요~

Success가 되면서 설치가 완료될 것입니다.

그 다음으로 구글에서 chromedriver을 검색합니다

저는 크롬 기준으로 할 것이기에 크롬 드라이버를 다운받을거에요~

만약 다른 firefox, IE 등을 이용하시면 해당 드라이버를 받으시면 됩니다.

 

 

 

들어갑니다!

 

 

다운로드를 받으러 들어갑니다

현재 11.20일 기준으로 2.33버전이네요

 

 

여기서 윈도우용 버전을 받습니다

금방 받아져요!

 

 

 

파일을 받았으면 압축을 푸세요

그럼 크롬 드라이버가 있을겁니다

저는 이 파일을 파이썬이 설치된 폴더에 driver라는 폴더를 새로 만들어서 여기에 두었습니다

관리하기 쉽게요!

자 이제 준비는 끝났습니다

예제를 한번 해보죠

네이버에 자동으로 들어가서 네이버 검색창에 셀레니움 테스트입니다.

라는 문구를 작성하게 할 것입니다.

 

 

위 처럼 진행하면 되어요

query라는 부분은 네이버 검색창 부분의 id입니다.

그래서 element_by_id를 통해서 id 값을 가지고 옵니다

자바스크립트랑 비슷한 문법이죠? 자바스크립트를 하신 분들은 뭔가 익숙할 것입니다

그리고 send_keys를 통해 키를 전달합니다.

그리고 submit()으로 실행!

자 이 파일을 실행하면요

 

 

위 처럼 나옵니다!

여기까지 셀레니움 설치 및 간단 테스트였습니다

 

 

2 Comments
  • 프로필사진 부자되세요 2018.07.10 19:30 첫번째 검색후 두번째 검색을 이어서 하고 싶은데요

    젤 끝에
    search = driver.find_element_by_id("nx_query")
    search.send_keys(" 파이썬")
    search.submit()
    를 추가하면 "셀레니움 파이썬"이라고 두번째 검색까지는 가능합니다.
    헌데, 이전에 입력한 "셀레니움"을 지우고 "파이썬"만 검색하고 싶은데 어떻게 하면 될까요?
    제가 초짜라서 응용이 쉽지 않네요
  • 프로필사진 이수진의 블로그 이수진의 블로그 2018.07.10 19:52 신고 from selenium import webdriver
    from bs4 import BeautifulSoup
    from selenium.webdriver.common.keys import Keys

    str = ["셀레니움", "파이썬"]
    driver = webdriver.Chrome("C:/python/driver/chromedriver.exe")
    driver.get("https:/www.naver.com")
    search = driver.find_element_by_id("query")
    search.send_keys(str[0])
    search.submit()
    driver.find_element_by_id("nx_query").clear()
    search = driver.find_element_by_id("nx_query")
    search.send_keys(str[1])
    search.submit()

    이런식으로 말씀하시는 것인가요??
    제가 질문을 이해를 잘 못한거 같기두 하구요 ㅠㅠ
댓글쓰기 폼