[英]Click function is not working on a button
我嘗試創建一個使用JS登錄到https://www.easports.com/fifa/ultimate-team/web-app/#的應用程序,但無法單擊“登錄”按鈕。
調用單擊按鈕元素。
document.getElementsByTagName("button")[0].click()
什么都沒發生。 如果我用鼠標移動並單擊它,它將起作用。
看起來他們正在使用mousedown
和mouseup
事件偵聽器來確定在光標位於按鈕上方時是否同時發生了兩個事件。 這是不想使用腳本自動單擊的按鈕的示例。
非常感謝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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.