自动注册appleid

1. 通过猴油注册脚本,用js填写表单

问题:由于apple官网采用了自己封装的mvvm框架,如果只是赋值的话,还不能把视图上的数据更新到model上,必须触发一下表单元素的input事件或者change事件完成model的更新

CSP网站安全策略

var _e = new Event('input')
 document.getElementsByTagName('input')[4].value = '张'
 document.getElementsByTagName('input')[4].dispatchEvent(_e)

2. 由于apple官网加了csp,导致不能连接不用域的http和ws,所以只能新开一个iframe,通过该iframe连接服务器获取数据,再发送回apple官网

window.addEventListener('message', function(rs){
    console.log(rs);
    if (rs.origin === 'https://test.auto0917.com') {

    }
});
var iframe = document.createElement("iframe");
document.querySelector("body").appendChild(iframe);
iframe.setAttribute("src","https://test.auto0917.com/test.html");

注意子页面发送消息时会有同源策略问题,所有必须用top.postMessage,不能用parant.pos

window.top.postMessage('hahah', 'https://appleid.apple.com/account#!&page=create')

问题1:该iframe必须是https的,找个https的服务器就行了

问题2:该iframe连接的ws也必须是wss的才行,需要加证书

3. 最后还是用nightmare写了一段自动注册的脚本

blesstosam 的 github

相关推荐