如何用Tampermonkey脚本实现intellizoom.com自动登录?
问题:如何通过JavaScript自动提交intellizoom登录表单?
我想用Tampermonkey中的JavaScript爬取intellizoom网站,目的是有新工作可接单时立即收到提醒(工作可能几秒内就会被抢光)。但登录会话会过期,网站会重定向到登录页面,所以需要编写匹配登录URL的Tampermonkey脚本,在需要时自动重新登录。
实现时遇到了问题:输入框需要先调用focus()才能通过JavaScript赋值,但登录按钮仅调用focus()无效。测试脚本中,若在控制台出现“click!”消息前手动点击页面,登录按钮变蓝后.click()方法可成功提交登录信息;但无法通过JavaScript模拟该手动点击,所有尝试均无效果且无控制台报错。请问如何通过JavaScript提交该网站的登录信息?
测试代码
setTimeout(function(){ document.getElementById("email").focus(); document.getElementById("email").value = "username@Domain.co.uk"; document.getElementById("password").focus(); document.getElementById("password").value = "password"; },500); setTimeout(function(){ console.log("click!"); document.getElementsByClassName("button large primary is-rounded")[0].click(); },3000);
解决方案(更新)
以下代码可正常运行:
setTimeout(function(){ document.getElementById("email").value = "username@Domain.co.uk"; document.getElementById("password").value = "password"; let event = new Event("blur"); document.getElementById("email").dispatchEvent(event); document.getElementById("password").dispatchEvent(event); document.getElementsByClassName("button large primary is-rounded")[0].click(); },100);
内容的提问来源于stack exchange,提问作者Adrian Wood
相关产品推荐
相关产品推荐

