49일차에는 쿠키클리커라는 게임을 셀레늄으로 자동화 시켜보았다.
# 셀레늄 설치from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
# 크롬드라이버 위치
chrome_driver_path = "/Users/zzang/Desktop/chromedriver_win32/chromedriver.exe"
# 셀레늄 웹드라이버 실행
driver = webdriver.Chrome(executable_path=chrome_driver_path)
# 웹 접속
driver.get("<http://orteil.dashnet.org/experiments/cookie/>")
# 쿠키 찾기
cookie = driver.find_element_by_id("cookie")
# 아이템 이름
items = driver.find_elements_by_css_selector("#store div")
items_name = [item.get_attribute("id") for item in items]
# 타이머 만들기
check_money = time.time() + 5#5초 타이머
game_time = time.time() + 5*60# 5분 타이머# 게임 시작while True :
# 쿠키 클릭하기
cookie.click()
# 5초마다 실행if time.time() > check_money :
# 아이템 가격 리스트 만들기
all_price = driver.find_elements_by_css_selector("#store b")
item_prices = []
for price in all_price:
if price.text != "":
item_prices.append(int(price.text.split(" - ")[1].strip().replace(",", "")))
# 업그레이드 딕셔너리 만들기
cookie_upgrade = {}
for n in range(len(item_prices)) :
cookie_upgrade[item_prices[n]] = items_name[n]
# 가지고 있는 돈 확인하기
money = driver.find_element_by_id("money").text
if "," in money :
money = money.replace(",","")
money_count = int(money)
# 업그레이드 가능한 아이템 찾기
upgrade_possible = {}
for price,name in cookie_upgrade.items() :
if money_count > price :
upgrade_possible[price] = name
# 업그레이드 가능한 아이템 중 가장 비싼 아이템 찾기
highest_upgrade = max(upgrade_possible)
print(highest_upgrade)
purchase_id = upgrade_possible[highest_upgrade]
# 가장 비싼 아이템 클릭하기
driver.find_element_by_id(purchase_id).click()
# 5초 리셋시키기
check_money = time.time() + 5
if time.time() > game_time :
cps = driver.find_element_by_id("cps").text
print(cps)
break