V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
shiji
V2EX  ›  问与答

java/python 库, 抓取页面,模拟执行其中的 javascript

  •  
  •   shiji · Feb 26, 2016 · 1901 views
    This topic created in 3712 days ago, the information mentioned may be changed or developed.
    之前曾经有过失败的尝试,很多 javascript 第三方库都不能模拟执行

    这个东西的目的是,依次访问学生做好的 CSRF 页面,模拟执行里面的 JS ,然后服务器那边统计哪些人的 CSRF 生效了。

    当时想写个 Java ,依次模拟访问页面,用的是 HTMLUnit ,结果貌似因为 JS 过于复杂, htmlunit 一直出错。

    后来我的解决方法是用普通的 html+js ,按照学生 ID ,依次弹出他们的作业,一秒钟后关掉打开下一个。缺陷是,一旦他们中的哪一个傻子 js alert 了,我就得人工干预,,去点击确定才能继续。

    所以想问问机智的你们,有没有别的方法实现?或者是比较完善的能模拟执行 js (包括自动执行 ajax , js 能修改 html 内容之类的)的第三方库?
    4 replies    2016-02-26 09:59:47 +08:00
    airycanon
        1
    airycanon  
       Feb 26, 2016
    我只知道 PhantomJS
    adeweb
        2
    adeweb  
       Feb 26, 2016
    写个 chrome 插件,在指定页面列表注入 js 脚本,这个 js 和当前页面 js 环境是隔离的,让后批量打开页面,统计数据通过 backend.js 传递到服务端。这样可行否?
    xujunfu
        3
    xujunfu  
       Feb 26, 2016
    可以用 splinter 啊
    reeco
        4
    reeco  
       Feb 26, 2016
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   830 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 20:51 · PVG 04:51 · LAX 13:51 · JFK 16:51
    ♥ Do have faith in what you're doing.