油猴脚本 Tampermonkey 自动填写网页表单 减轻 CloudCone 刷鸡的鼠标操作
CloudCone
那么就可以在
这样就会遇到一个问题, 每次到这个开机页面都要选择
安装 Chrome 插件
地址
打开目标页面
比如,https://1ladder.eu.org/cc1680
添加新脚本
看到你要处理的页面, 点击插件按钮, 添加新脚本.
编辑脚本
你要明白,你要写的脚本就是写在 // Your code here... 的下面。
脚本的语法是 JavaScript.
我们可以用脚本去操作页面元素, 填写网页表单.
分析页面元素
看到你要处理的页面, 右键菜单, 查看网页源代码.
处理 PERIOD 下拉框
观察目标网页,要处理的下拉框上面有
如果我们想让脚本帮我们选择 Every 3 months 这个
所以脚本写成这样:
var contractField = document.getElementById("contract");contractField.value="Q";
处理 操作系统 单选项
切到网页源代码页面,搜索一下
我们再看一下这一系列的 radio, 从页面上看 Debian 11 排在第6
从源码上看, 它也是排第6
var systemRadios = document.getElementsByName('os');systemRadios[5].checked = true;
JavaScript
数组的编号
处理 Hostname 文本框
切到网页源代码页面,搜索一下
如果我们想让脚本帮我们设置这个文本框的内容, 那么脚本写成这样:
var hostnameField = document.getElementsByName("hostname")[0];hostnameField.value="balabalabala";
当然这里的
告一段落!
到目前为止, 你的油猴脚本应该是这个样子
var contractField = document.getElementById("contract");contractField.value="Q";var systemRadios = document.getElementsByName('os');systemRadios[5].checked = true;var hostnameField = document.getElementsByName("hostname")[0];hostnameField.value="balabalabala";
用菜单保存, 或者快捷键 Ctrl+S
可以看到油猴脚本插件下标有一个数字 1, 表示有 1 个脚本在此页面上运行. 当然就是我们刚刚编写的那个脚本了.
你会发现创建出来的
可以说我们达到了目的, 用脚本帮我们设定了参数, 节约了鼠标操作.
但如果我们多问一个问题,
怎么让页面显示为脚本设定的参数
一般来说简单设计的网页不会出现
以下为
我们在源码页面的最末尾, 可以看到从这里开头的一大段 <script> ...
那么我们在油猴脚本
calculate();
好了, 我们的油猴脚本成了下面这样.
保存一下, 然后在目标页面刷新.
可以看到, 除了 PERIOD 显示不符合我们的预期, 页面的其它部分有更新.
更进一步,
让脚本帮我们点击 部署 按钮
切到网页源代码页面,搜索一下
<a class="btn btn-fill btn-block btn-magnify btn-danger btn-lg deploy-server-btn" id="deploy-form-btn"><div class='uil-reload-css reload-small hidden' style=''><div></div></div> <i class="ti-cloud-up"></i> <span class="deploy-server-btn-text">Deploy Server</span></a>
注意这一段的 id 是 deploy-form-btn
如果我们想让脚本帮我们点击这个页面元素, 那么脚本写成这样:
var deployBtn = document.getElementById('deploy-form-btn');deployBtn.click();
大结局!
到目前为止, 你的油猴脚本应该是这个样子
var contractField = document.getElementById("contract");
contractField.value="Q";
var systemRadios = document.getElementsByName('os');
systemRadios[5].checked = true;
var hostnameField = document.getElementsByName("hostname")[0];
hostnameField.value="balabalabala";var deployBtn = document.getElementById('deploy-form-btn');deployBtn.click();
评论
发表评论