V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wangxiaoaer
V2EX  ›  问与答

浏览器自动操作脚本

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

    工作需要,必须进入某个网站进行学习,计时,学习过程中如果播放窗口失去焦点,则学习中断,学习期间不定时会需要回答问题(选择题,按钮提交,如果选择错误,会提示正确的选项)另外,播放器有 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 #1 哈哈,不是的。
    wangxiaoaer
        7
    wangxiaoaer  
    OP
       2019-08-08 10:16:08 +08:00
    1 播放器只能在 IE 下。
    2 即使在 chrome 里能播放,操作按钮都是基于 flash 的,chrome headless 和 puppeteer 能满足要求吗?
    lyh404
        8
    lyh404  
       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 之类的都要录制脚本或写脚本,而且也没有人脑智能
    lyh404
        31
    lyh404  
       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   ·   实用小工具   ·   1798 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 16:32 · PVG 00:32 · LAX 08:32 · JFK 11:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.