안 쓰던 블로그
파이썬-selenium으로 웹 매크로 만들기 본문
파이썬 크롤링 시리즈
네이버 웹툰 이미지 크롤링, 저장하기: foxtrotin.tistory.com/173
셀레니움으로 웹 게임 자동 매크로 만들기: 현재글
네이버 실시간 검색어 가져오기: foxtrotin.tistory.com/267
네이버 웹툰 요일별 크롤링: foxtrotin.tistory.com/328
selenium이란?
웹 애플리케이션을 위한 테스팅 프레임워크. 자동화 테스트를 위한 여러가지 기능을 제공함
1~50을 클릭하는 이 게임 매크로를 만들어 볼 것
1. Selenium 설치
파이썬 설치 폴더-scripts-cmd키고 pip install selenium
안 되면 참고 https://foxtrotin.tistory.com/172
2. 크롬 버전 확인하기
크롬-도움말-크롬 정보
버전 83.0.4103이다
3. 크롬 드라이버 설치
https://sites.google.com/a/chromium.org/chromedriver/downloads
나는 82.0.4103의 윈도우 환경이니까 win32 다운받음
다운로드 받고 설치한 경로를 기억하기
4. 코딩
from selenium import webdriver
driver=webdriver.Chrome('/chromedriver_win32/chromedriver.exe') #크롬 드라이버
크롬 드라이버를 연결한다
아까 다운로드 받은 경로를 그대로 적는다
driver.get('https://zzzscore.com/1to50/') #접속할 url
매크로를 돌릴 페이지를 띄운다
def autoClick():
cnt = 1
while cnt <= 50:
btns= driver.find_elements_by_xpath('//*[@id="grid"]/div[*]')
버튼 좌표를 넣어준다
좌표 확인은 이렇게 한다
id=gird인 클래스에서 div를 전부 가져옴
만약 이런 버튼이면?
btns= driver.find_elements_by_xpath('//*[@id="search_btn"]/span[2]') #버튼 좌표
이런 좌표를 가져오면 된다
for btn in btns:
if btn.text == str(cnt):
btn.click()
print("number "+str(cnt)+"clicked!")
cnt+=1
break
autoClick()
버튼 50개가 담긴 btns를 하나씩 돌면서
cnt와 버튼의 텍스트가 같은 경우(버튼을 찾음) 버튼을 클릭한다
cnt+=1해주고 클릭한 버튼은 더 이상 탐색할 필요 없으니 break
전체 코드
from selenium import webdriver
driver=webdriver.Chrome('/chromedriver_win32/chromedriver.exe') #크롬 드라이버
driver.get('http://zzzscore.com/1to50') #접속할 url
def autoClick():
cnt = 1
while cnt <= 50:
btns= driver.find_elements_by_xpath('//*[@id="grid"]/div[*]')
for btn in btns:
if btn.text == str(cnt):
btn.click()
print("number "+str(cnt)+"clicked!")
cnt+=1
break
autoClick()
https://github.com/proqk/SWINGstudy/blob/master/python/webAutoClick.py
7.701초 상위 0.1% 클라스
'언어 > 파이썬' 카테고리의 다른 글
[Flask] Flask-SQLAlchemy (0) | 2020.09.03 |
---|---|
[파이썬] beautifulsoup로 2020년 네이버 실시간 검색어 크롤링 하기 (0) | 2020.09.01 |
파이썬 beautifulsoup로 웹툰 크롤링, 다운로드 하기 (2) | 2020.05.30 |
VS 파이썬 unresolved import warning 해결 방법 - Visual Studio에서 Python 모듈 설치하기 (0) | 2020.05.30 |
파이썬 .2f표현 (0) | 2020.04.07 |