V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
hanmeimei
V2EX  ›  JavaScript

如何用 js 触发页面的 js 验证来实现模拟人工操作

  •  
  •   hanmeimei · 2016 年 10 月 12 日 · 3424 次点击
    这是一个创建于 3401 天前的主题,其中的信息可能已经有所发展或是发生改变。

    自从阿里月饼事件,对 js 产生了兴趣。最近在摸索如何利用 js 来模拟。现在遇到一下一个页面: 网址: https://accounts.autodesk.com/register [利用 chrome 注入 jquery 插件来实现任何网页执行 jquery 。 插件网址: https://chrome.google.com/webstore/detail/inject-jquery/indebdooekgjhkncmgbkeopjebofdoid?utm_source=chrome-app-launcher-info-dialog ]

    针对上面的注册网址。我写了一下代码:

    $("#firstname_str").val("han"); $("#lastname_str").val("meimei"); $("#email_str").val("[email protected]"); $("#confirm_email_str").val("[email protected]"); $("#password").val("hanmeimeizhaolilei"); if($("#PrivacyPolicyAccepted").val()==="false"){ $("#privacypolicy_checkbox").click(); }

    填表是自动填写了,但是表单需要自动验证邮箱等正确与否,需要调用到组件。。 我用 .change 还是无法让它工作。

    请问如何分析这个页面,实现通过代码触发? 求渔,不求鱼。

    11 条回复    2016-10-13 00:42:26 +08:00
    loading
        1
    loading  
       2016 年 10 月 12 日 via Android
    求渔是吧。
    请看 《 javascript 高级程序设计》和 《 javascript dom 编程》
    Biwood
        2
    Biwood  
       2016 年 10 月 12 日 via Android
    浏览器有安全机制,你无法只通过 JS 代码来模拟人类的行为,只能手动触发, Event 对象有个 isTrusted 属性,就是用来区别人类和机器的
    darluc
        3
    darluc  
       2016 年 10 月 12 日
    hanmeimei
        4
    hanmeimei  
    OP
       2016 年 10 月 12 日
    @loading 有空看看。因为现在看了基础,想边实践,变学习。有些问题会纠结很久没有进展,所以,希望有人帮忙指点一下。
    hanmeimei
        5
    hanmeimei  
    OP
       2016 年 10 月 12 日
    @darluc 感谢。但是现在基础有点差。英文不是很懂。 nodejs 这个入门也要一段时间。我要先看看 js 相关的。能否帮忙把上面的这个分析一下。
    hanmeimei
        6
    hanmeimei  
    OP
       2016 年 10 月 12 日
    @Biwood 现在这个 chrome 好像没有支持。但是上面这个如何触发呢?
    iyaozhen
        7
    iyaozhen  
       2016 年 10 月 12 日 via Android
    直接提交不行吗?
    hanmeimei
        8
    hanmeimei  
    OP
       2016 年 10 月 12 日
    @iyaozhen 这个相当于一个联系。人工点击当然是可以的咯
    marsLeo
        9
    marsLeo  
       2016 年 10 月 12 日
    这网页应该用 $("#btnSubmit").click(); 来触发提交
    jinwyp
        10
    jinwyp  
       2016 年 10 月 12 日
    darluc
        11
    darluc  
       2016 年 10 月 13 日
    @hanmeimei 简单来说就是个可以控制浏览器做各种操作的测试库
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1033 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:20 · PVG 03:20 · LAX 11:20 · JFK 14:20
    ♥ Do have faith in what you're doing.