python自动点击小程序


猜你感兴趣


被测点击界面

新建counter.html添加下面代码并保存,使用编辑器或浏览器打开

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div>

    <button class="button" onclick="myFunction()">点击计数</button>
    <p id="num">0</p>

</div>
<script>
    let num = localStorage.getItem("counter");

    function myFunction() {
        document.getElementById("num").textContent = ++num;
        localStorage.setItem("counter", document.getElementById("num").textContent);
    }
</script>
</body>
</html>

在这里插入图片描述

python点击脚本代码

  • 安装pyautogui
pip install pyautogui -i https://pypi.douban.com/simple
  • auto_click.py代码如下
"""
python -m PyInstaller -F -w   -n auto_click ./auto_click.py
"""
import os
import signal
import time
import pyautogui
import keyboard
import sys
import threading


def exit_():
    keyboard.wait('esc')
    os.kill(os.getpid(), signal.SIGINT)


def loop_click(s=1):
    pyautogui.alert(text='移动鼠标至连续点击位置,\n按enter键开始,\n按esc停止')
    keyboard.wait('enter')
    x, y = pyautogui.position()
    print(x, y)
    threading.Thread(target=exit_).start()
    while True:
        time.sleep(s)
        pyautogui.click(x, y)


def get_delay():
    while True:
        s = pyautogui.prompt(text='请输入点击时间间隔(单位/s),点击取消将退出程序!', title='疯狂点击', default=1)
        if not s:
            sys.exit(0)
        try:
            s = float(s)
            break
        except:
            pyautogui.alert(text='请输入合法的数字!')
            continue
    return s


def main():
    s = get_delay()
    loop_click(s=s)


if __name__ == '__main__':
    main()

打包成exe

  • 安装pyinstaller
pip install pyinstaller -i https://pypi.douban.com/simple
  • 执行打包命令
python -m PyInstaller -F -w   -n auto_click ./auto_click.py
  • 打包完成
    打包完成后在当前路径下的dist文件夹中可以看到auto_to.exe可执行程序

使用说明

  1. 设置时间间隔,单位为秒,点击ok
  2. 移动鼠标至连续点击位置,按enter键开始,按esc停止
### 使用 Python 实现微信小程序自动化测试 #### 选择合适的框架 为了实现微信小程序自动化测试,`minium` 是专门为小程序开发的自动化框架之一。该框架不仅支持UI自动化测试,还允许进行函数模拟、页面跳转以及设置页面数据等功能[^3]。 ```python from minium import MiniProgramDriver driver = MiniProgramDriver() ``` #### 设置环境配置 创建 `conftest.py` 文件来初始化pytest插件,以便更好地集成和管理测试用例执行环境。这一步骤有助于简化项目的配置过程,并使得不同模块之间的依赖关系更加清晰[^2]。 ```python # conftest.py from pytest_mini import plugins pytest_plugins = plugins( "待测试的小程序项目路径", "微信开发者工具路径" ) ``` #### 进入小程序并获取上下文 通过调用特定的方法进入目标小程序,并打印当前可用的操作上下文列表。此操作可以帮助确认是否成功进入了期望的应用场景中[^1]。 ```python class WeChatMiniAppTest: def enter_micro_program(self): self.driver.launch_app() # 启动应用 print(self.driver.contexts) # 打印所有上下文 test_instance = WeChatMiniAppTest() test_instance.enter_micro_program() ``` #### 控制交互行为 利用 Appium 提供的功能库来进行更复杂的用户界面交互动作,比如点击按钮、输入文本等。这里展示了一个简单的例子,展示了如何等待元素可见性和执行触摸事件[^4]。 ```python from appium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from appium.webdriver.common.touch_action import TouchAction desired_caps = { 'platformName': 'Android', 'deviceName': 'emulator-5554', # 替换成实际设备名称 'appPackage': 'com.tencent.mm', 'appActivity': '.ui.LauncherUI' } driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) wait = WebDriverWait(driver, 10) element = wait.until(EC.presence_of_element_located((By.ID, 'some_id'))) action = TouchAction(driver).tap(element).perform() sleep(2) # 等待一段时间观察效果 driver.quit() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值