python 自动化神器 多平台纯代码RPA办公自动化python框架

 Pyaibote是一款专注于纯代码RPA(机器人流程自动化)的强大工具,支持Android、Browser和Windows三大主流平台。无论您需要自动化安卓应用、浏览器操作还是Windows应用程序,Pyaibote都能轻松应对

Pyaibote可以同时协作Windows、Web和Android平台机器人,满足您多样化的办公自动化需求

 

框架开发文档网址:PyAibote

GItHub开源地址:PyAibote: (github.com)

 

1. 下载安装PyAibote包, 打开终端输入以下命令:

pip3 install PyAibote -i https://pypi.tuna.tsinghua.edu.cn/simple

2. 下载AiBote集成环境文件, 解压后放在没有中文的路径下, 并将Aibote的文件夹加入到系统环境变量中

    Aibote集成环境下载: Aibote.zip

 

 3. 安卓自动化开发

    3.1. 安卓手机投屏开发环境视频教程:  安卓手机投屏-局域网投屏_哔哩哔哩_bilibili

    3.2. 安卓开发环境配置视频教程:1. PyAibote安卓开发环境配置_哔哩哔哩_bilibili     

    3.3. 安卓快速开发视频教程:  2.快速使用_哔哩哔哩_bilibili

# 1. 导入 AndroidBotMain 类
  from PyAibote import AndroidBotMain
  import time
  
  
  
  # 2. 自定义一个脚本类,继承 AndroidBotMain
  class CustomAndroidScript(AndroidBotMain):
  
      # 2.1. 设置是否终端打印输出 DEBUG:输出, INFO:不输出, 默认打印输出
      Log_Level = "DEBUG" 
  
      # 2.2. 终端打印信息是否存储LOG文件 True: 储存, False:不存储
      Log_Storage = True  
  
  
      # 2.3. 注意:script_main 此方法是脚本执行入口必须存在此方法
      def script_main(self):
          # 显示手机最近任务列表
          result = self.recent_tasks()
          print(result)
  
  
  
  
  
  
  
  
  if __name__ == '__main__':
      # 3. 注意:此处监听的端口号,必须和手机端的脚本端口号一致
      # 3.1 监听 8888 号端口, 如果你想启动多个端口号给一个列表比如: [8888,7777,6666,5555]
      CustomAndroidScript.execute("0.0.0.0", 8888)

 

 4. Web自动化开发

    4.1. Web开发环境配置视频教程:  1.PyAibote Web开发环境配置_哔哩哔哩_bilibili    

    4.2. Web快速开发视频教程: 2.快速使用_哔哩哔哩_bilibili

 # 1. 导入 AndoridBotMain 类
  from PyAibote import WebBotMain
  import time
  
  # 2. 自定义一个脚本类,继承 WebBotMain
  class CustomWebScript(WebBotMain):
  
      # 3. 设置是否终端打印输出 DEBUG:输出, INFO:不输出, 默认打印输出
      Log_Level = "DEBUG"  # "INFO"
  
  
      # 4. 终端打印信息是否存储LOG文件 True: 储存, False:不存储
      Log_Storage = True  # True
  
  
      # 5. 全局隐式等待 [找不到元素重复查找]
      # 5.1 元素未加载等待时间(秒)
      Implicit_Waiting = 5

      # 5.2 元素未加载间隔多少时间重复加载(秒)
      Implicit_Waiting_Frequency = 0.5
      
      # 5.3 超过未加载等待时间是否抛出异常
      Implicit_Waiting_Throwing = False
  
  
      # 6. 注意:此方法是脚本执行入口
      def script_main(self):
          result = self.goto("https://baidu.com")
          print(result)
  
          # 6.1. 显示等待和隐式等待意思一样, 显示等待可以让你在某个局部代码中自定义设置等待时长
          # StartShowWait函数后的代码按照等待10秒,每个0.5秒重复加载,False找不到不抛出异常,此时你如果设置的全局隐式等待将不生效直到结束显示等待
          self.StartShowWait(10, 0.5, False)
  
          result = self.goto("https://qq.com")
          print(result)
          result = self.goto("https://www.hao123.com")
          print(result)
  
          # 6.1 结束显示等待,也是自定义结束局部等待此时如果设置的全局隐式等待后面的代码将按全局隐式等待的设置来执行
          self.EndShowWait()
  
  
  
  
  
  
  if __name__ == '__main__':
      # 7. 启动脚本,监听 9999 号端口, 默认使用 Chrome 浏览器
  
      # 7.1. Debug=True 时,是本地运行脚本,会自动启动 WebDriver.exe 驱动
      # 7.2. 打开终端输入:start chrome.exe --remote-debugging-port=8989 即可创建一个8989的端口浏览器, "debugPort" 参数改为8989即可接管浏览器
      # 在远端部署脚本时,请设置 Debug=False,手动启动 WebDriver.exe,启动 WebDriver.exe 时需指定远端 IP 或端口号
  
      # 7.3. 如本地部署脚本,需要传递 WebDriver 启动参数时,参考下面方式,如不需传递启动参数,则忽略:

      # 7.4 终端命令行启动驱动示例: 
        # WebDriver.exe  "{\"serverIp\":\"127.0.0.1\", \"serverPort\":9999, \"browserName\":\"chrome\", \"debugPort\":0, \"userDataDir\":\"./UserData\", \"browserPath\":\"null\", \"argument\":\"null\", \"extendParam\":\"{'Name':'PyAibote'}\"}"
  
      driver_params = {
          "browserName": "chrome",
          "debugPort": 0,
          "userDataDir": "./UserData",
          "browserPath": None, 
          "argument": None,   # 无头模式(后台运行浏览器)启动参数: --headless   浏览器版本大于112 的无头模式:--headless=new,多个启动参数空格隔开,示例: "argument": "--headless=new"
          "extendParam":"{'Name':'PyAibote'}"  
        }
        
      # 参数说明:
      # browserName 浏览器名称,默认 chrome 浏览器。edge和chrome会自动寻找浏览器路径,其他浏览器需要指定browserPath。
      # debugPort 调试端口。默认 0 随机端口。指定端口则接管已打开的浏览器。启动浏览器指定的参数 --remote-debugging-port=19222 --user-data-dir=C:\\Users\\电脑用户名\\AppData\\Local\\Google\\Chrome\\User Data
      # userDataDir 用户数据目录。多进程同时操作多个浏览器数据目录不能相同。部分操作系统edge浏览器必须指定用户数据目录。第一次指定数据目录路径会进入浏览器欢迎界面,第二次恢复正常操作
      # browserPath 浏览器路径
      # argument 浏览器启动参数。例如:设置代理:--proxy-server=127.0.0.1:8080  无头模式: --headless   浏览器版本>112 的无头模式:--headless=new,多个启动参数空格隔开
      # extendParam 扩展参数,一般用作脚本远程部署场景,WebDriver.exe驱动程序传递参数给脚本服务端。使用 await webBot.getExtendParam(); 函数获取

      CustomWebScript.execute("0.0.0.0", 9999, Debug=True, Driver_Params=driver_params)

 

  5. Windows自动化开发

    5.1. Windwos开发环境配置视频教程: 1.PyAiboteWindows开发环境配置_哔哩哔哩_bilibili  

    5.2. Windwos快速开发视频教程: 2. 快速使用_哔哩哔哩_bilibili

 

  # 1. 导入 WinBotMain 类
  from PyAibote import WinBotMain
  import time,os
  
  # 2. 自定义一个脚本类,继承 WinBotMain
  class CustomWinScript(WinBotMain):
  
      # 2.1. 设置是否终端打印输出 DEBUG:输出, INFO:不输出, 默认打印输出
      Log_Level = "DEBUG" 
  
      # 2.2. 终端打印信息是否存储LOG文件 True: 储存, False:不存储
      Log_Storage = True  
  
  
      # 2.3. 注意:script_main 此方法是脚本执行入口必须存在此方法
      def script_main(self):
          # 查询所有窗口句柄
          result = self.find_windows()
          print(result)
  
  
  
  
  
  
  
  
  if __name__ == '__main__':
      # 3. IP为:0.0.0.0, 监听 9999 号端口
      # 3.1. 在远端部署脚本时,请设置 Debug=False,客户端手动启动 WindowsDriver.exe 时需指定远端 IP 或端口号
      # 3.2. 命令行启动示例:"127.0.0.1" 9999 {'Name':'PyAibote'}
      CustomWinScript.execute("0.0.0.0", 9999, Debug=True)

 

QQ开源社区交流群:

posted @ 2024-07-08 21:14  Mr_Riven  阅读(27)  评论(0编辑  收藏  举报