0
我正在嘗試編寫一個簡單的JavaScript代碼(通過Chrome擴展注入頁面),這將打開HTML選擇控件的選項列表(用於交互式用戶看到),所以我想過模擬用戶點擊控件。我可以通過JavaScript觸發BUTTON上的點擊事件,但是SELECT控件拒絕了我的嘗試。無法模擬用戶通過JavaScript單擊HTML選擇控件
function triggerClick(domElmId) {
let domElm = document.getElementById(domElmId);
triggerEvent(domElm, 'mouseover');
triggerEvent(domElm, 'mousedown');
triggerEvent(domElm, 'click');
triggerEvent(domElm, 'mouseup');
}
function triggerEvent(domElm, eventName) {
let options = {pointerX: 0, pointerY: 0, button: 0, ctrlKey: false, altKey: false, shiftKey: false, metaKey: false, bubbles: true, cancelable: true};
let eventType = 'MouseEvents';
let oEvent = null;
oEvent = new MouseEvent(eventName, options);
domElm.dispatchEvent(oEvent);
}
代碼示例:https://codepen.io/anon/pen/mBegaq
任何想法?
謝謝!你知道這種行爲是否是特定於SELECT控件的,或者是否存在其他像拒絕模擬JS點擊一樣的HTML控件? –
好問題。我不太確定說實話。 'select'是我迄今爲止唯一遇到的 – DNKROZ