вообщем проблема такая, из расширения надо клацнуть на нужный элемент на странице, на некоторыйх сайтах работает по обычному
$(elem).click();
или
$(elem).trigger();
но есть такие, на которых это не срабатывает, нашел решение вот такое
var dispatchMouseEvent = function(target, var_args) {
var e = document.createEvent("MouseEvents");
// If you need clientX, clientY, etc., you can call
// initMouseEvent instead of initEvent
e.initEvent.apply(e, Array.prototype.slice.call(arguments, 1));
try {
target.dispatchEvent(e);
} catch (Err) {
console.log(Err);
}
};
ну и сам клик:
let EleClick = document.getElementById('idElem');
dispatchMouseEvent(EleClick, 'mouseover', true, true);
dispatchMouseEvent(EleClick, 'mousedown', true, true);
dispatchMouseEvent(EleClick, 'click', true, true);
dispatchMouseEvent(EleClick, 'mouseup', true, true);
но возникла проблема, елемент на который надо кликнуть в результате обработки сайта получает ссылку на него в виде jquery объекта
и соответсвенно эта функция перестает работать, вернее матерится на
target.dispatchEvent(e);
как из jquery объекта получить ссылку в виде результата после document.getElementById('idElem'); или аналогичных?