浏览器自动操作脚本 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
wangxiaoaer

浏览器自动操作脚本

  •  
  •   wangxiaoaer Aug 8, 2019 9912 views
    This topic created in 2456 days ago, the information mentioned may be changed or developed.

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

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

    以下是我的思路:

    1 手动打开播放器页面

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

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

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

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

    求建议。

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

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

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

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

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

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

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

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

    python 做图像识别,selenium 做点击,比较复杂。
    kknd22
        34
    kknd22  
       Aug 9, 2019
    怎么这么像我们之前那个学习的系统 elearning?
    处理办法是抓包分析提交数据,然后发现其没有验证,谷歌 F12 拿信息,,Excel 创建一个自动生成提交链接工具,浏览器里开一下这个链接就行了
    snakeyou
        35
    snakeyou  
       Aug 9, 2019
    Sikuli 好用简单
    About     Help     Advertise     Blog     API     FAQ     Solana     2839 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 92ms UTC 15:23 PVG 23:23 LAX 08:23 JFK 11:23
    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