Próbuję utworzyć prosty skrypt Greasemonkey, który okresowo uruchamia kliknięcie myszą <a>
element (który jest zobowiązany do zrobienia czegoś za pomocą JavaScript). Zawsze jest jeden <a>
element wewnątrz „awesome-div”, ale jego klasa i nazwa <a>
może się różnić.
HTML:
...
<div id="awesome-div">
<a class="some random class">this randomly named link needs to be clicked</a>
</div>
...
Oto mój skrypt użytkownika
// ==UserScript==
// @name My Awesome Script
// @namespace http://example.com/myawesomescript
// @description Not working
// @include http://mywebsite.com/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js
// ==/UserScript==
function clickLink() {
$("div#awesome-div").find("a").click();
}
$(document).ready(function() {
setInterval(clickLink, 5000); // repeat every 5 seconds
});
Ale ten skrypt użytkownika nie działa. Co idzie nie tak?
// @include http://mywebsite.com/*
jest poprawny w rzeczywistym skrypcie.
Odpowiedzi:
0 dla odpowiedzi № 1Spróbuj tego
function clickLink() {
var ele=document.getElementById("awesome-div");
var a = ele.getElementsByTagName("a");
a[0].click();
}
zmienna „a” będzie zawierać wszystkie tagi kotwicy wewnątrz div, 0 oznacza pierwszy element
Możesz także zapętlać każdy z elementów kotwiczących w tym div
for(var i=0;i<a.length;i++)
{
// a[i].click(); do whatever you want with all of these
}