我尝试创建一个使用JS登录到https://www.easports.com/fifa/ultimate-team/web-app/#的应用程序,但是我无法单击“登录”按钮。
调用单击按钮元素。
document.getElementsByTagName("button")[0].click()
什么都没发生。如果我用鼠标移动并单击它,它将起作用。
答案 0 :(得分:0)
似乎他们正在使用Seite 1
和mousedown
事件侦听器来确定两个事件是否都在光标位于按钮上方时发生。这是一个不想使用脚本自动单击按钮的示例。
答案 1 :(得分:0)
非常感谢idmitrov。我设法使用它来使其工作:
var targetNode = document.getElementsByTagName("button")[0];
if (targetNode) {
//--- Simulate a natural mouse-click sequence.
triggerMouseEvent (targetNode, "mouseover");
triggerMouseEvent (targetNode, "mousedown");
triggerMouseEvent (targetNode, "mouseup");
triggerMouseEvent (targetNode, "click");
}
else
console.log ("*** Target node not found!");
function triggerMouseEvent (node, eventType) {
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent (eventType, true, true);
node.dispatchEvent (clickEvent);
}