【Chrome-crx】键盘模拟鼠标点击网页按钮

0x00 前言

最近在做一个标注任务:
简单的说,就是屏幕上有好多小方块,选中其中的部分,
然后在页面下面的四个标注按钮(红绿蓝黑)上点一下,
小方块们就会被染成这个按钮的颜色,需要把所有的小方块们染色完。

请各位想象一下:纯鼠标工作,在一个白底的网页上来回翻飞舞动,眼睛都看花啦!
所以我决定想个法子把这四个染色按钮绑在我键盘上的几个键上(QWER就是你们了)。
(以后标注起来看起来在打DOTA一样哈哈哈)

0x01 配置使用

二话不说先贴解决方案:

  • 装个插件: ShortKey for Chrome
  • 配置按键:
    • Keyboard Shortcut(选择按键): Q
    • Behavior(选择效果): Run JavaScript
    • Label as(取个名字): "按下C按钮"
    • Javascript code to run(跑一段javascript代码):
      • document.getElementsByClassName('btn btn-C')[0].click()
      • (当然可以写好多,这里我要求不多就写了一行)
    • Active while in form fields(选择生效页面)
      • Only for specific sites(我选的是只在这个网域生效)
      • www.blablablabla.com/mark/todo/*
  • 刷新页面,开始使用
    • 如上述配置的意思为:
      • 仅在标注页面的url域生效,
      • 按下键盘中的Q键,
      • 等效于点击class名称为’btn btn-C’的按钮一次。

0x02 详细说明

其实我觉得叫详细说明不如叫心路历程哈哈哈

首先这是我在Chrome商店搜索shortkey直接淘出来的一个扩展程序:

Shortkeys (Custom Keyboard Shortcuts)
由Mike Crittenden提供

看起来还不赖,我就去check了一下支持哪些功能(要知道,扩展性是一个程序的生命线啊)
然后看到这一行的时候我的眼镜就闪闪发光了——“Behavior: Run JavaScript
好的就决定是你了,能跑一个脚本语言比什么不强?

然后就是javascript了,哼╭(╯^╰)╮,本大爷怎么可能有五分钟内不能写出来的东西

$('.btn-C').click()
//Uncaught ReferenceError: $ is not defined at <anonymous>:1:1

这……不科学,怎么连$都不认识呢,明明我在console里可以直接用的啊!
那这样行么:

document.getElementById('btn btn-C').click()
//Uncaught TypeError: Cannot read property 'click' of null at <anonymous>:1:37

啥……Null?那就是说没拿到咯……然后进行了如下的尝试,看如何能获得那个button对象

document.getElementById('.btn')
null
document.getElementById('.btn-C')
null
document.getElementById('btn btn-C')
null

document.getElementsByClassName('.btn')
[]
length: 0
__proto__: HTMLCollection

document.getElementsByClassName('btn btn-C')
[button.btn.btn-C]
length: 1
0: button.btn.btn-C
__proto__: HTMLCollection

好好好,有对象了有对象了(总觉得这句话哪里不对)
那就决定是你了!
document.getElementsByClassName('btn btn-C').click()

啊咧怎么又……哦对了是个list不好意思哈哈哈
document.getElementsByClassName('btn btn-C')[0].click()

搞定,看我一个QEQWR连招带走对面(老师我真的在标注,真的真的~)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糖果天王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值