浏览器自动操作脚本 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wangxiaoaer
V2EX    问与答

浏览器自动操作脚本

  wangxiaoaer 2019-08-08 09:57:21 +08:00 9619 次点击
这是一个创建于 2343 天前的主题,其中的信息可能已经有所发展或是发生改变。

工作需要,必须进入某个网站进行学习,计时,学习过程中如果播放窗口失去焦点,则学习中断,学习期间不定时会需要回答问题(选择题,按钮提交,如果选择错误,会提示正确的选项)另外,播放器有 flash 的,有 windows media player 的。

所以想借助一些脚本实现自动点击、学习。

以下是我的思路:

1 手动打开播放器页面

2 启动脚本,每隔 10s 截图。

3 根据截图判断是否是答题页面,如果是,随便选择答案,并找出提交按钮提交,根据反馈,选择正确答案提交。

4 根据截图判断是不是播放结束。

调研了下,发现有案件精灵、autohotkey 这种好像能实现我的要求。但是按键精灵被排除了,因为我都找不到他的官网,从什么太平洋之类的下载站下载我也不放心。然后看了下 autohotkey,感觉语法之类比较难。所以想基于高级语言实现,比如 python,golang,甚至 java 都行。 但是这些语言对鼠标的操作不知道怎么样,因为涉及到系统底层,不太了解。

求建议。

第 1 条附言    2019-08-08 14:34:06 +08:00
大哥们,怎么还有那么多上来就 油猴脚本的,这个网站只支持 IE9,况且播放器是基于 Flash 和 Windows Media Player,大佬 JS 操作一下看看。
35 条回复    2019-08-09 15:14:25 +08:00
0bject
    1
0bject  
   2019-08-08 09:58:43 +08:00
党员
chenuu
    2
chenuu  
   2019-08-08 10:01:51 +08:00
java 的 awt 包应该可以
LukeChien
    3
LukeChien  
   2019-08-08 10:10:02 +08:00 via Android
Chrome Headless 接口,可以用任何语言调用接口控制浏览器
luob
    4
luob  
   2019-08-08 10:11:40 +08:00
co3site
    5
co3site  
   2019-08-08 10:12:36 +08:00 via Android
如何截图判断是否答题页面呢?
wangxiaoaer
    6
wangxiaoaer  
OP
   2019-08-08 10:14:32 +08:00
@0bject # 哈哈,不是的。
wangxiaoaer
    7
wangxiaoaer  
OP
   2019-08-08 10:16:08 +08:00
1 播放器只能在 IE 下。
2 即使在 chrome 里能播放,操作按钮都是基于 flash 的,chrome headless 和 puppeteer 能满足要求吗?
LaCroqueta12
    8
LaCroqueta12  
   2019-08-08 10:28:40 +08:00
之前我在线学习也是看视频,找了台闲置电脑装上 4 倍速看视频的软件,名字忘了,让它自己放,看完了手工点一下,半天就学完一个课程。
snail07
    9
snail07  
   2019-08-08 10:30:08 +08:00   2
可以去了解一下 selenium
tankren
    10
tankren  
   2019-08-08 10:39:10 +08:00
不是早就有轮子了嘛
uuus008
    11
uuus008  
   2019-08-08 10:39:52 +08:00   1
selenium+1
wangxiaoaer
    12
wangxiaoaer  
OP
   2019-08-08 10:45:44 +08:00
@lyh404 #8
1 是不是类似系统底层倍速播放的?不是播放器层面的倍速吧。

2 加速后,如果后台记录学习时间,一对比不就跪了吗?
Nbsaw
    13
Nbsaw  
   2019-08-08 10:49:53 +08:00
go - chromedp
wangxiaoaer
    14
wangxiaoaer  
OP
   2019-08-08 10:52:24 +08:00
提到 selenium 的,这是一个思路,但是我觉得这样太复杂,调试也不方便,因为所有的一切都是后台。

而用原生浏览器播放,通过外接辅助的方式应该会灵活很多。
wysnylc
    15
wysnylc  
   2019-08-08 11:02:15 +08:00
油猴脚本,ahk
python 和其他语言键盘钩子做的垃圾的要死
autoxbc
    16
autoxbc  
   2019-08-08 11:09:26 +08:00
页面没做混淆的话,读一下代码,或许可以用简单的油猴直接 hack 判断逻辑,省去图形界面操作
auroraccc
    17
auroraccc  
   2019-08-08 11:40:32 +08:00
puppeteer 可以满足需求
dazkarieh
    18
dazkarieh  
   2019-08-08 11:45:06 +08:00
greasyfork.org 找刷课脚本或者对照着修改
TangMonk
    19
TangMonk  
   2019-08-08 11:45:48 +08:00 via iPhone
公务员,老师之类的,我看我爸搞过这种
TangMonk
    20
TangMonk  
   2019-08-08 11:47:48 +08:00 via iPhone
可以试着跳过客户端的验证,抓下服务端的包
imicksoft
    21
imicksoft  
   2019-08-08 11:48:56 +08:00
aardio,web.form 库调用的 webbrowser,也就是 IE,调用大漠插件免费版,可以图色识别模拟键盘鼠标操作
xi_lin
    22
xi_lin  
   2019-08-08 12:51:24 +08:00
greasemonkey 应该比 puppeteer 和 selenium 简单一点
dream7758522
    23
dream7758522  
   2019-08-08 12:51:45 +08:00 via Android
按键精灵最简单了。照猫画虎,5 分钟搞定
Mutoo
    24
Mutoo  
   2019-08-08 13:07:22 +08:00
说 userscript 和 puppeteer / selenium 估计没看 lz 的要求:FLASH

flash 对上面这几个选项来说完全是黑盒,

我记忆中能完成功能的估计只有按键精灵了,因为它能识别屏幕特定区域。

不过它的官网被 chrome 列为高风险网站 http://www.anjian.com/

最后一版是 2014 不知道红极一时的按键精灵还活着吗。
Mutoo
    25
Mutoo  
   2019-08-08 13:08:35 +08:00
@Mutoo 按键精灵的开发团队似乎去做新的产品了 https://www.uibot.com.cn/
wangxiaoaer
    26
wangxiaoaer  
OP
   2019-08-08 14:06:16 +08:00
@Mutoo #25 刚试了一下,win10 报毒,xp 里面试了下,完全摸不着头脑,还有那个中文脚本,看得我想死。
zls3201
    27
zls3201  
   2019-08-08 14:24:29 +08:00
油猴脚本 自己了解一下 就是基本的 js 语法
pkookp8
    28
pkookp8  
   2019-08-08 14:27:49 +08:00 via Android
@zls3201 是 flash/media player,不是 html,我觉得 js 应该不行
mrcn
    29
mrcn  
   2019-08-08 14:37:42 +08:00 via Android
flash 确实难搞,抓包可能是条路。

关注一下,看有没有大佬。
zqx
    30
zqx  
   2019-08-08 14:43:50 +08:00 via Android
淘宝花一百多块就有人帮你学了。
selenium puppeteer 之类的都要录制脚本或写脚本,而且也没有人脑智能
LaCroqueta12
    31
LaCroqueta12  
   2019-08-08 14:55:47 +08:00
@wangxiaoaer 想起来了,是 Enounce MySpeed。所有视频刷完了系统就显示已完成了,后台记录学习时间什么的想想就好,你觉得还在用 flash 的,有几个会去对比时间?
aimiyooo
    32
aimiyooo  
   2019-08-08 17:25:19 +08:00
selenium
WinG
    33
WinG  
   2019-08-08 17:31:16 +08:00
python + selenium

python 做图像识别,selenium 做点击,比较复杂。
kknd22
    34
kknd22  
   2019-08-09 08:03:20 +08:00
怎么这么像我们之前那个学习的系统 elearning?
处理办法是抓包分析提交数据,然后发现其没有验证,谷歌 F12 拿信息,,Excel 创建一个自动生成提交链接工具,浏览器里开一下这个链接就行了
snakeyou
    35
snakeyou  
   2019-08-09 15:14:25 +08:00
Sikuli 好用简单
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4568 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 29ms UTC 01:07 PVG 09:07 LAX 17:07 JFK 20:07
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86