Home  >  Q&A  >  body text

javascript - apple官网的登录页面不能访问表单元素

利用Tampermonkey自动填写登录页面表单并触发提交按钮事件。
这是登录链接: Manage Your Apple Id
但是奇怪的是页面加载完毕以后无法获得表单元素

下面是代码:

// ==UserScript==
// @name         Account Sign In
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @include      https://appleid.apple.com/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    window.onload=function(){
        document.getElementById("appleId").value="myemail@gmail.com";
        document.getElementById("pwd").value="password";
        document.getElementById("sign-in").click();
        
    };

    setTimeout(function(){
        document.getElementById("appleId").value="myemail@gmail.com";
        document.getElementById("pwd").value="password";
        document.getElementById("sign-in").click();
    }, 5000);
})();

如上所见,试了window.onload,不好使
猜测因为表单p可能是ajax加载的,onload的时候并没有加载完,所以setTimeout等整个页面完全加载完毕再执行脚本,依然不好使。

但如果在chrome console中的话,先inspect该元素,之后就可以正常操作了

我该怎么做才能在页面加载完毕访问这些表单元素呢?

巴扎黑巴扎黑2770 days ago581

reply all(1)I'll reply

  • 黄舟

    黄舟2017-04-11 12:58:06

    遇到过这个问题,好像是表单用的iframe,跨域了,用的自动化测试工具selenium完美解决登录及后续问题

    reply
    0
  • Cancelreply