当前位置: 首页 > news >正文

electron windows robotjs 安装教程

Robotjs 安装

    • 前言
    • 第一步 : 安装python
    • 第二步 : 安装Visual Studio 2022
    • 第三步 : 安装robotjs

前言

robotjs可以控制鼠标键盘,获取屏幕内容,配合electron可做很多自动化操作。windows下配置环境有很多坑,很多文章都太旧了。试了很多次发现了一个简单的环境安装办法。

/* 演示版本 win11 */
"node":"20.10.0"
"electron": "^26.1.0"
"robotjs": "^0.6.0"

首先看一下官方给出的教程(github地址)

  • Windows

    • windows-build-tools
    #  from an elevated PowerShell or CMD.exe
    npm install --global --production windows-build-tools
    
  • Mac

    • Xcode Command Line Tools.
  • Linux

    • Python (v2.7 recommended, v3.x.x is not supported).

    • make.

    • A C/C++ compiler like GCC.

    • libxtst-dev and libpng+±dev

      sudo apt-get install libxtst-dev libpng++-dev
      

很难受,windows-build-tools 我安装了半天都没安装上。

看了很多文章后,学到了个新办法,接下来开始教程。


第一步 : 安装python

版本好像得3.6以上,我安装的是3.7.9 , 下载安装包,勾选 Add to path 即可。python华为镜像链接 国内下载快

C:\Users\Administrator>python
Python 3.7.9 (tags/v3.7.9:13c94747c7, Aug 17 2020, 18:58:18) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

第二步 : 安装Visual Studio 2022

这一步只是安装c++编译环境(windows-build-tools是在安装这个VC++环境和python。实测可以通过手动安装python加vsc替代,满速且简单无差错,缺点是大了点,不过卸载也方便),robotjs经常需要构建兼容版本(electron-rebuild或者postinstall)。我下载的是社区版vs2022 官方下载地址。打开后勾选C++桌面开发,注意右侧还需手动勾选一项windows sdk。

在这里插入图片描述

第三步 : 安装robotjs

注意配置镜像源,如果有下载node-headers错误,换源。yarn推荐使用yrm,npm用nrm

# 有可能出现这个错误,换源即可解决,我用淘宝的不行,换了cnpm源就可以了
gyp http GET https://npm.taobao.org/dist/v26.5.0/node-v26.5.0-headers.tar.gz     
gyp http 404 https://cdn.npmmirror.com/binaries/node/v26.5.0/node-v26.5.0-headers.tar.gz     
gyp WARN install got an error, rolling back install

安装robotjs

# npm
npm i robotjs
# yarn
yarn add robotjs

如果用的是electron-builder,可以添加这个命令,出现node版本不匹配的时候用这个命令构建一下即可

"scripts": {..."postinstall": "electron-builder install-app-deps"
},

如果不是,可以安装 electron-rebuild, 用这个来构建

yarn add electron-rebuild -D
yarn electron-rebuild

相关文章:

  • Rust语言入门教程(六) - 字符串类型
  • WebSocket 是什么原理?为什么可以实现持久连接?
  • 物流实时数仓ODS层——Mysql到Kafka
  • vue中.sync修饰符与$emit(update:xxx)双向数据绑定
  • Learn the architecture - Understanding Armv9-A trace
  • gRPC之grpc负载均衡(resolver)
  • STM32USART+DMA实现不定长数据接收/发送
  • Node.js 的 os 模块介绍
  • 【多传感器融合】BEVFusion: 激光雷达和视觉融合框架 NeurIPS 2022
  • TemplateHit中提取query和hit比对上序列索引的映射字典
  • 用户运营:如何搭建用户分析体系
  • Centos 7 在线安装(RPM) PostgreSQL 14 15 16
  • ChatGPT 使用入门
  • C++学习 --函数对象
  • AWS EC2 如何 使用 SSM会话管理器登陆
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 77. Combinations
  • classpath对获取配置文件的影响
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • iOS 颜色设置看我就够了
  • JAVA 学习IO流
  • mockjs让前端开发独立于后端
  • SQLServer之创建数据库快照
  • Vue 2.3、2.4 知识点小结
  • VUE es6技巧写法(持续更新中~~~)
  • Vue2.x学习三:事件处理生命周期钩子
  • 从输入URL到页面加载发生了什么
  • 给第三方使用接口的 URL 签名实现
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 那些被忽略的 JavaScript 数组方法细节
  • 什么是Javascript函数节流?
  • 温故知新之javascript面向对象
  • 问题之ssh中Host key verification failed的解决
  • 正则表达式
  • Hibernate主键生成策略及选择
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (10)ATF MMU转换表
  • (二)换源+apt-get基础配置+搜狗拼音
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (附源码)ssm码农论坛 毕业设计 231126
  • (排序详解之 堆排序)
  • (区间dp) (经典例题) 石子合并
  • (全注解开发)学习Spring-MVC的第三天
  • (未解决)macOS matplotlib 中文是方框
  • (一一四)第九章编程练习
  • (转)用.Net的File控件上传文件的解决方案
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .Net 应用中使用dot trace进行性能诊断
  • .Net8 Blazor 尝鲜
  • /etc/sudoer文件配置简析
  • ??eclipse的安装配置问题!??
  • @Async注解的坑,小心
  • [ Algorithm ] N次方算法 N Square 动态规划解决