본문 바로가기
Study/파이썬

[Python] 숫자 게임 매크로

by 투말치 2020. 6. 7.

목차

    반응형

    1부터 50까지 차례대로 클릭하는 게임에 대한 매크로 제작하기

    게임 사이트 : http://zzzscore.com/1to50/?ts=1591411226743

     

    순발력 테스트! 추억의 1부터50까지

    손은 눈보다 빠르다! 추억의 1부터50까지

    zzzscore.com

     

     

    1. Selenium, 크롬 드라이버 설치하기

    from selenium import webdriver
    
    driver=webdriver.Chrome('C:/Users/yso00/Desktop/설치파일/chromedriver')  #크롬드라이버가 있는 경로
    
    driver.get('http://zzzscore.com/1to50/?ts=1591411226743') #접속할 url
    

    - webdriver를 통해 브라우저를 제어하기 때문에 크롬 드라이버를 설치하고 해당 경로를 지정해서

    webdriver 객체를 만든다.

    - 만든 객체를 통해 URL에 접속한다.

     

     

    2. 페이지의 element에 접근하기

    btn=driver.find_elements_by_xpath('//*[@id="grid"]/div[@style]')
    num=1
    while(num<=25):  #1~25
        for i in btn :
            if(i.text==str(num)):
                i.click()
                num+=1
          
                    
    btn=driver.find_elements_by_xpath('//*[@id="grid"]/div[@style]')
    while(num<=50):    #25~50
        for i in btn :
            if(i.text==str(num)):
                i.click()
                num+=1

    - 숫자를 클릭하기 위해 개발자 모드를 통해 분석해준다.

    - xpath는 파일을 찾을 때 경로를 보고 찾는 것 처럼 XML에서 특정한 요소, 태그 등을 검색하기 위한 XML Path Language이다. 

    - 해당 표현식의 의미는 id가 grid인 태그의 하위에 있는 태그들 중 style 속성을 가진 div 태그들을 찾는 것이다.

    - 1~25와 26~50으로 나눈 것은 26~50은 1~25를 클릭해야 나오기 때문이다.

    - btn리스트에서 텍스트가 찾는 번호와 같다면 클릭하게 했다.

    - 이때, 텍스트와 비교하는 것이라서 num을 문자열로 변환해서 비교해야한다.

     

     

    실행 결과다.

     

     

    반응형