有关自动化的脚本思考 python 按键 javascript
start
说来其实挺巧的,去年年中的时候,有一个同组的同事,由于工作流程需要,经常会打开某一网页,填写某些信息,然后上传特定的代码。
他有一次和我闲聊,他吐槽说,他每天的时间会被这种重复性的工作给浪费掉。而且这种事情做起来还有点浪费心智带宽。(意思是做的时候还要思考,做完之后会感到有点累)
他问我,既然操作的都是网页,那么有没有办法对那些重复性高的事情,用脚本帮忙解决掉呢?后面我闲暇时间就给他做了一个demo,虽然只是demo,但是他赞不绝口。
这件事情之后,感觉挺有个人成就感的吧,后面就对自动化操作的相关事情就会非常感兴趣,然后一顿研究学习。学的东西有点多,让我说出来,发现一时半会说不出来个所以然,所以想着写一写文档,记录一下自己的收获,也当做一个分享。
我目前掌握了哪些内容
当然啊,基于应用层面,只是浅显了学习了这些内容,算是基础入门。
- 油猴脚本
- 按键精灵脚本
- 易语言(了解)
- autojs脚本
- selenium
- python脚本
1. 油猴脚本
油猴是一个浏览器插件,可以每次访问某一个网页的时候,前置访问并执行你的js代码。可以执行你的代码,那么可以做的事情还挺多的。
然后我自己动手做了一个csdn换肤的脚本等。
2. 按键精灵
按键精灵是一个软件啊,然后内部的代码文件格式为Q,底层是基于微软的vbs。他提供的功能挺全面的,但是语法很不友好,一个数组的push都没有,写起来简直痛苦。
3. 易语言
老牌自动化脚本语言了,类库非常丰富,功能全面。
但是中文写法,加各种新语法,有学习成本。加上不能git管理,所以直接 pass。
4. autojs
基于js的安卓端辅助功能实现的自动化库。可以免root。
首先基于js。然后免root,再加上免费。推荐使用。
5.selenium
做自动化的一个类库,针对网页内容,可以直接获取元素,然后做各种操作。类库还支持多个语言,例如js、py、都是支持的,就是文档不太友好。
6.python
一直听说py的大名,当初在学校的时候,稀里糊涂的学习了一点py。当初是一头雾水。
现在感觉我自己js有所小成,再回过头看py,感觉各种内容非常熟悉。比如什么面向过程,循环,if。然后我花了几天时间,看了基本基础语法介绍的书籍。直接上手就来。
优点:
- 相关库丰富(一个语言的生态真的很重要啊)
- 语法比较新 (数组方法都挺全面的,比按键好很多,push都没有;插值表达式这种用起来都挺熟悉。)
- 支持git
- 相关博客文档很全
- 支持多端
- 结合pyqt,对桌面应用支持非常好。
- 多线程 (js没多线程!)
- 支持面向对象
缺点:
- 它内置的默认标准格式是下划线(驼峰党有点难接受)
- ide不好用,垃圾pycharm。(改它的bug改了几天)
- 他有一个虚拟环境的概念,我觉得它对比npm的package.json,还是不太方便。
- 语法和js大差不差,但是没有大括号,靠缩进区分作用域,每次写完代码还要手动缩进,麻烦
目前是入门阶段,所以以上内容,由于认知有限,可能表达不对,欢迎指正。
总的来说,缺点只能说是我个人的吐槽,这个语言还不错,类库丰富,实现功能,快速高效。
end
回想起来,其实这些东西没啥门槛,入门还是很容易的。想要精通,还是要花时间的,所以聊到最后,还是python大法好。
相关文章:
有关自动化的脚本思考 python 按键 javascript
start 说来其实挺巧的,去年年中的时候,有一个同组的同事,由于工作流程需要,经常会打开某一网页,填写某些信息,然后上传特定的代码。 他有一次和我闲聊,他吐槽说,他每天的时间会被这…...
CKA认证模块②-K8S企业运维和落地实战-2
CKA认证模块②-K8S企业运维和落地实战-2 K8S常见的存储方案及具体应用场景分析 k8s存储-empty emptyDir类型的Volume是在Pod分配到Node上时被创建,Kubernetes会在Node上自动分配一个目录,因此无需指定宿主机Node上对应的目录文件。 这个目录的初始内容…...
SpectralDiff论文阅读笔记
高光谱图像分类是遥感领域的一个重要问题,在地球科学中有着广泛的应用。近年来,人们提出了大量基于深度学习的HSI分类方法。然而,现有方法处理高维、高冗余和复杂数据的能力有限,这使得捕获数据的光谱空间分布和样本之间的关系具有…...
selenium基本使用、无头浏览器(chrome、FireFox)、搜索标签
selenium基本使用 这个模块:既能发请求,又能解析,还能执行js selenium最初是一个自动化测试工具,而爬虫中使用它主要是为了解决requests无法直接执行 JavaScript代码的问题 selenium 会做web方向的自动化测试appnium 会做 app方向的自动化…...
Html 引入element UI + vue3 报错Failed to resolve component: el-button
问题:Html 引入element UI vue3 ,el-button效果不出来 <!DOCTYPE html> <html> <head><meta charset"UTF-8"><!-- import Vue before Element --> <!-- <script src"https://unpkg.com/vue2/dist…...
sen2cor安装
Sen2Cor工具安装教程-百度经验 (baidu.com)...
通付盾Web3专题 | SharkTeam:Web3安全实践与创新
在Web3领域,安全漏洞、黑客攻击已愈发成为用户和投资者重点关注的领域。如何保障加密资产的安全,Web3黑暗森林中又有哪些新的攻击模式产生,SharkTeam将从一线进行分享和讨论。 我们先来看一下2023年1月到8月的安全事件数量和损失的数据统计。…...
ARM Linux 基础学习 / Ubuntu 下的包管理 / apt工具
编辑整理 by Staok。 注:在 Github 上的原版文章日后可能会更新,在其它位置发的不会跟进。文章的 Gitee 仓库地址,Gitee 访问更流畅。 Ubuntu 下的包管理 / apt工具 包管理系统的功能和优点大致相同,但打包格式和工具会因平台&a…...
springcloudalibaba入门详细使用教程
目录标题 一、简介二、SpringCloud Alibaba核心组件2-1、Nacos (配置中心与服务注册与发现)2-2、Sentinel (分布式流控)2-3、RocketMQ (消息队列)/RabbitMq/kafka2-4、Seata (分布式事务)2-5、Dubbo (RPC) 三、为什么大家看好 Spring Cloud Alibaba3-1、阿里巴巴强大的技术输出…...
C# DirectoryInfo类的用法
在C#中,DirectoryInfo类是System.IO命名空间中的一个类,用于操作文件夹(目录)。通过DirectoryInfo类,我们可以方便地创建、删除、移动和枚举文件夹。本文将详细介绍DirectoryInfo类的常用方法和属性,并提供…...
IDEA常用快捷键大全(详解)
如何在IDEA中进行内容全局查找 在idea中进行全局查找,可以使用快捷键“Ctrl Shift F”或者在菜单栏中选择Edit > Find > Find in Path。在弹出的界面中,输入要查找的内容。如果“Ctrl Shift F”这个快捷键无法实现全局查找,可以尝…...
设计模式之解释器模式
阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概5000多字,预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&#x…...
粉够荣获淘宝联盟区域理事会常务理事,携手共铸淘客新生态
淘宝联盟区域理事会于2021年成立,首届成立成都、广州、武汉,服务近2000个领军淘宝客企业,作为区域生态与官方交流重要枢纽,理事会举办近百场交流分享会,带动淘客跨域跨业态交流成长。 2023年9月7日第二届淘宝联盟理事…...
Python爬虫是否合法?
Python爬虫是否合法的问题颇具争议,主要涉及到使用爬虫的目的、操作方式以及是否侵犯了其他人的权益。本文将介绍Python爬虫的合法性问题,并提供一些相关的法律指导和最佳实践。 1. 什么是Python爬虫? Python爬虫是一种自动化程序ÿ…...
3.2 IDAPro脚本IDC常用函数
IDA Pro内置的IDC脚本语言是一种灵活的、C语言风格的脚本语言,旨在帮助逆向工程师更轻松地进行反汇编和静态分析。IDC脚本语言支持变量、表达式、循环、分支、函数等C语言中的常见语法结构,并且还提供了许多特定于反汇编和静态分析的函数和操作符。由于其…...
用python将csv表格数据做成热力图
python的开发者为处理表格和画图提供了库的支持,使用pandas库可以轻松完成对csv文件的读写操作,使用matplotlib库提供了画热力图的各种方法。实现这个功能首先需要读出csv数,然后设置自定义色条的各种属性如颜色,位置,…...
【程序基础】递归法
算法思想 递归法,其实可以说是一种编程技巧,通过调用自身,防止无限循环而给予递归出口。 思考使用场景 1.一个问题可以拆分成子问题,每个子问题相互独立。 2.数据满足递推关系,或者数据结构满足,例如图&…...
AI 绘画 | Stable Diffusion WebUI的基本设置和插件扩展
前言 Stable Diffusion WebUI是一个基于Gradio库的浏览器界面,用于配置和生成AI绘画作品,并且进行各种精细地配置。它支持目前主流的开源AI绘画模型,例如NovelAI/Stable Diffusion。 在基本设置方面,Stable Diffusion WebUI的默…...
如何用自然语言 5 分钟构建个人知识库应用?我的 GPTs builder 尝试
开发者的想象力闸门一旦打开,迎接我们的必然是目不暇接的 AI 应用浪潮冲击。 兴奋 早晨,我突然发现 ChatGPT 最新的 Create GPTs 功能可以用了。 这太让我意外了,没想到这么快。根据页面上的提示,我一直以为还得等上一周左右。于是…...
rabbitmq启动异常解决
如果 RabbitMQ 节点一直停在 "Stopping and halting node" 阶段,可能是由于一些原因导致节点无法正常停止。以下是一些建议的步骤,以尝试解决此问题: 手动强制终止节点: 尝试使用 rabbitmqctl 命令手动终止节点。在终端…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
