問題
最近想要試一下玩合成大西瓜小游戲,就想能不能自動化運行這個游戲。相當於寫一個自動化測試合成大西瓜的腳本,隨機點擊位置然后觸發點擊即可。
解決方案
直接采用自動化測試工具Python+Selenium,環境安裝方法請參考 Selenium+Python自動化測試(一)
注意:這不是自動完成合成大西瓜的腳本,只是一個演示隨機點擊的自動化測試學習案例,幫助大家更好的理解selenium的用法。
合成大西瓜小游戲鏈接:https://dushusir.com/xigua/
(手機端直接在微信或者自帶瀏覽器打開即可開始游戲,PC端打開后用F12開啟移動調試功能試玩)
適當游戲,娛樂中學習。
視頻演示效果
代碼
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 谷歌瀏覽器驅動
from selenium import webdriver
# sleep模塊,讓程序停止往下運行
from time import sleep
# 操作鏈
from selenium.webdriver.common.action_chains import ActionChains
# 導入 random(隨機數) 模塊
import random
# 手機模式加載谷歌瀏覽器
mobile_emulation = {'deviceName': 'iPhone 5'}
options = webdriver.ChromeOptions()
options.add_experimental_option("mobileEmulation", mobile_emulation)
driver = webdriver.Chrome(chrome_options=options)
# 設置瀏覽器大小
driver.set_window_rect(0,0,700,700)
sleep(1)
# 打開設定的網址
driver.get('https://dushusir.com/xigua')
# 隱式等待
driver.implicitly_wait(5)
while(True):
# 隨機取位置
randomX = random.randint(20,300)
randomY = random.randint(200,300)
print('click')
# 設定點擊位置
ActionChains(driver).move_by_offset(randomX, randomY).click().perform()
# move_by_offset會累計上一次的位置,點擊完重置
ActionChains(driver).move_by_offset(-randomX, -randomY).perform()
sleep(1)
# driver.quit()
更多
后續關注公眾號:獨書先生,獲取最新腳本和小游戲動態