使用GPT写了一个油猴脚本,解决我的大问题!完整思路分享

使用GPT写了一个油猴脚本,解决我的大问题!

哈喽,大家好,我是老表,学 Python 编程,找老表就对了。

大家好,我打算每日花1小时来写一篇文章,这一小时包括文章主题思考和实现,今天是日更的第8天,看看能不能被官方推荐。(帮我点点赞哦~)

今天的主题是:使用GPT写了一个油猴脚本,解决我的大问题,如果这篇文章对你有所帮助或者你觉得写的还行,欢迎你点赞/分享给你的朋友、她、他,一起成长。

也欢迎大家留言,说说自己想看什么主题的Python文章,留言越具体,我写的越快,比如留言:我想看Python 自动操作Excel 相关文章。

如果你有具体的需求想通过使用Python实现自动化,那将更好,欢迎私聊我微信,一起交流探讨。

需求来源

最近在写 Python自动化案例50+ ,里面有些案例是从公众号里摘选的,就会从公众号复制文案和代码。

复制粘贴到小报童,检查过都没问题了,点了保存再看就发现多了很多 

解决问题

第一次看到上面问题的时候感到很头疼,准备一个个手改,但改着改着感觉不对劲啊,这修改成本了太大了,浏览器页面也没有 VS code里的查找然后全部替换。

但又想了想,是不是可以写个什么工具去实现这个,这时突然我的谷歌浏览器页面右上角闪了下,想到了油猴,油猴(Tampermonkey)是一个超级流行的浏览器扩展,它允许用户自定义网页上的 JavaScript 脚本,以增强或修改网页的功能和外观。

需求很明确了:写一个油猴脚本实现以下功能,批量将页面的某字符串变成其他字符串。

但我不熟悉 JavaScript 啊,这个咋搞?这要是放1年半前,我肯定就吭呲吭呲的浏览器搜索如何写油猴脚本,JavaScript 基础语法,一个个看、测试了,估计不下2天拿不下来!然后就放弃了!

但如今,AI时代,有 GPT 这个人工智能助手,搞定这样的自动化需求只需1小时不到(如果你本身对相关领域了解,可能需要时间更少)。

一共三个问题解决我这需求,前两个问题是需求分析确认的,最后一个是学习脚本内容的,具体如下图所示。

角色定义

设定一个角色,很重要,这样AI回复的内容会更满足你的需求。GPT脑袋里装了很多东西,设置角色的作用是让他在该角色细分领域去理解和回答你的提问。

问题1: 写一个油猴脚本实现以下功能,批量将页面的某字符串变成其他字符串。

你的提问越完善,GPT 回复内容就越准确,所以每一次提问请都先思考:我要问的是这个吗?提问是一门艺术,欢迎大家交流。

PS: 经常遇到读者加我微信后这样提问:我程序出现 xxx 错误,怎么办?也不给相关代码截图,也没有具体报错截图。

问题2: 需要等页面加载完成后再替换,另外弹框让用户输入要替换的文本,和新文本,用户点击确认后开始替

进一步补充需求。

问题3: 解析下这个脚本里 JavaScript 相关知识,我是一个刚接触 JavaScript 的学习者

作为学习者,一定不要过分依赖 GPT,要从它着学到怎么做,还需要学到为什么这样做、具体是如何做的。

油猴脚本配置说明

脚本代码有了,接下来就是配置脚本了~首先点击油猴拓展--添加新脚本。 输入新脚本内容,主要需要配置下 // @match *://xiaobot.net/* 这个表示脚本在哪些网站生效,我这里匹配的是小报童网站。然后保存即可。 效果展示:

别看这只是一个小脚本,举一反三,如果(借助GPT)会了油猴脚本编写,是不是很多(所有)网页上的事情都可以自动化了?

附件:学习所以然

【以下内容为AI生成,仅供分享学习使用】 当然可以!这个油猴脚本中涉及了一些基本的 JavaScript 相关知识。让我来解释一下:

  1. 事件监听器:
javascript 复制代码
 window.addEventListener('load', function() {
     replaceText();
 });

这段代码添加了一个事件监听器,当页面加载完成后('load' 事件)执行 replaceText 函数。也就是说,当页面加载完成后会触发 replaceText 函数进行操作。

  1. 函数和变量:
javascript 复制代码
 function replaceText() {
     // ...
 }
 var originalString = prompt("请输入要替换的文本", "原始字符串");
 var replacementString = prompt("请输入新的文本", "替换后的字符串");

这里定义了一个名为 replaceText 的函数来进行替换操作。同时使用 var 关键字声明了两个变量 originalStringreplacementString 用于存储用户输入的文本。

  1. 用户输入弹窗:
javascript 复制代码
 var originalString = prompt("请输入要替换的文本", "原始字符串");
 var replacementString = prompt("请输入新的文本", "替换后的字符串");

prompt 是一个 JavaScript 函数,用于弹出一个对话框来让用户输入内容。第一个参数是弹窗中要显示的文本,第二个参数是输入框的默认值。

  1. 文本替换:
javascript 复制代码
while(textNodes.nextNode()) {
   var node = textNodes.currentNode;
   node.nodeValue = node.nodeValue.replace(new RegExp(originalString, 'g'), replacementString);
}

这段代码遍历了页面中的文本节点,然后使用 replace 方法替换了匹配的字符串。这里使用 new RegExp() 创建了一个正则表达式来匹配所有的原始字符串,并用 replace 方法将其替换为新的字符串。

希望这些解释对你有所帮助!JavaScript 是一门功能强大的语言,有很多方面值得学习,我鼓励你继续深入学习。

本文使用的GPT助手大家可以关注我免费体验,也支持给个人/企业部署专有版。

相关推荐
肥猪猪爸32 分钟前
使用卡尔曼滤波器估计pybullet中的机器人位置
数据结构·人工智能·python·算法·机器人·卡尔曼滤波·pybullet
Myli_ing32 分钟前
考研倒计时-配色+1
前端·javascript·考研
余道各努力,千里自同风35 分钟前
前端 vue 如何区分开发环境
前端·javascript·vue.js
PandaCave42 分钟前
vue工程运行、构建、引用环境参数学习记录
javascript·vue.js·学习
软件小伟44 分钟前
Vue3+element-plus 实现中英文切换(Vue-i18n组件的使用)
前端·javascript·vue.js
LZXCyrus1 小时前
【杂记】vLLM如何指定GPU单卡/多卡离线推理
人工智能·经验分享·python·深度学习·语言模型·llm·vllm
醉の虾1 小时前
Vue3 使用v-for 渲染列表数据后更新
前端·javascript·vue.js
张小小大智慧1 小时前
TypeScript 的发展与基本语法
前端·javascript·typescript
我感觉。1 小时前
【机器学习chp4】特征工程
人工智能·机器学习·主成分分析·特征工程
YRr YRr1 小时前
深度学习神经网络中的优化器的使用
人工智能·深度学习·神经网络