利用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该元素,之后就可以正常操作了
我该怎么做才能在页面加载完毕访问这些表单元素呢?
遇到过这个问题,好像是表单用的iframe,跨域了,用的自动化测试工具selenium完美解决登录及后续问题