type
status
date
slug
summary
tags
category
icon
password
标签
是否汉化
💡
生命太短,没有时间留给遗憾,若不是终点,请微笑一直向前
最近公司搞AI直播,需要操作客户端软件开播停播,抖音管理后台要操作要添加小风车(类似留资组件)等操作,后期人工维护操作成本较高,需要做成自动化脚本,设定定时任务进行一键操作

方案 to-do-list

名称
技术方案
备注
抖音直播客户端-开启、关闭自动化
pytest-PYautoGUI
自动化客户端软件
抖音后台-小风车挂载-UI自动化
pytest-selenium
浏览器操作自动化(启动较慢)
抖音后台-小风车挂载-接口自动化
pytest-request
接口自动化
客户端-后台 自动化代码整合
pytest
框架整合
直播开启、关闭:企业微信机器人通知
pytest-robot
机器人执行任务成功失败通知
定时任务、部署
jenkins
定时执行

总结

问题1: UI自动化如何控制已经打开的浏览器(已登录成功的,跳过初始化浏览器登录操作)

因抖音后台用的是正式企业账号,只能扫码登录,无法提供用户名密码,so ,想办法绕过登录页面,需要可直接访问登录成功的管理页

解决方案:cmd-命令打开本地chrome并指定端口 —> selenium 绑定该端口驱动打开chrome后进行页面操作

应用场景:
  • 登录账号并且需要输入手机验证码的网站;
  • 登录账号并且需要人机验证的网站(如图片点选、文字点选等人机验证;
  • 无法提供账号,需要操作已登录的网站……

步骤1. 启动chrome

终端执行并挂起chrome
python脚本形式(macOS & win )

步骤2. selenium唤起chrome

 
pytest - conftest.py
pytest - test_dy.py
💡
在查找页面元素过程,遇到一个e-xin 问题 😫, 各种find_element一顿猛如虎的so操作,都定位不到,最后定位到是iframe嵌套问题,豁然开朗 😬 在这里记录下 ⬇️

问题2:PYautoGUI 定位操作无效的问题

pyautogui 点击无效(一定要看看以下几种方法,我的问题是权限不足 😂
在使用 PyAutoGUI 进行点击时,有几种可能会导致点击无效的情况。下面是一些可能导致这个问题的原因及对应的解决方案。
  • 分辨率不一致
如果你的程序在不同的计算机或设备上运行,可能会出现屏幕分辨率不一致的情况,导致 PyAutoGUI 点击失败。解决方法是,在程序中使用 pyautogui.size() 函数获取屏幕分辨率,并将所有坐标值转换为适应不同分辨率的坐标。
  • 窗口位置不一致
如果你想要在特定应用程序中进行点击操作,需要确保应用程序窗口的位置和大小是正确的。可以使用 pyautogui.getWindowPosition() 函数获取窗口的位置和大小,确保它们正确无误。
  • 其他应用程序处于前台
如果其他应用程序处于前台,可能会导致 PyAutoGUI 点击无效。可以通过在点击之前使用 pyautogui.click(x, y, clicks=1, interval=0.0, button='left') 函数中的 duration 参数来增加点击的持续时间。这样可以确保点击被发送到正确的窗口中。
  • 鼠标指针位置不正确
在执行点击操作之前,确保鼠标指针在正确的位置。可以使用 pyautogui.moveTo(x, y, duration=0.0) 函数将鼠标指针移动到正确的位置。
  • 程序运行权限不足
在某些操作系统中,程序可能需要管理员权限才能执行一些操作,如模拟鼠标点击。请确保程序拥有足够的权限。
希望这些信息能够帮助你解决 PyAutoGUI 点击无效的问题。如果你还有其他问题,请继续提问。
backup
 
 

🎒
离开乏味的皮囊,自由的灵魂在路上
  • Name: Alan Hsu
  • Tag: 随感、技术、经验、旅行、推荐、生活、音乐、电影 etc.
  • Email:xulanzhong521gmail.com
  • WeChat: Alan_Hsu_521
notion image
notion image
 
 
写作是最值得投资的技能活着,只需要安宁
Loading...