Hi, is there a method to Raise a click event of a Button based on the class and innerHTML of an element?
Example: I can navigate to the following URL:
https://mega.nz/#!20pzDaAQ!dNuODm_0_SS1C...Gs2LfMmzUM
But I want to raise the Click event on the Download Button.
IS this possible?
Hi,
Not sure yet how-to do this.
I can get the button object in javascript like so:
Code:
var downloadButton;
downloadButton = document.getElementsByClassName("mega-button positive js-default-download js-standard-download");
but that doesn't mean I can invoke a click on it as the button object does not have the method.
Next up I tried:
Code:
function simulateClick() {
const event = new MouseEvent("click", {
view: window,
bubbles: true,
cancelable: true,
});
const cb = document.getElementsByClassName("mega-button positive js-default-download js-standard-download");
const cancelled = !cb.dispatchEvent(event);
if (cancelled) {
// A handler called preventDefault.
alert("cancelled");
} else {
// None of the handlers called preventDefault.
alert("not cancelled");
}
}
which then gave me "Uncaught TypeError: cb.dispatchEvent is not a function"
So for the moment I don't know.
--
Wil
Maddire,
Figured to have another look at this and saw my mistake...
The code:
Code:
var downloadButton;
downloadButton = document.getElementsByClassName("mega-button positive js-default-download js-standard-download");
does not just return a html element, instead it returns a HTMLCollection array... an array with 1 element.
So my mistake was to try and send "click" from the array instead of the html element.
Just tested it and this code works fine:
Code:
var downloadButton;
downloadButton = document.getElementsByClassName("mega-button positive js-default-download js-standard-download");
downloadButton[0].click();
Obviously it could use some error checking, but the principle works fine.
It triggers a download just like you are after.
--
Wil