Clicando em um botão em uma página usando um Greasemonkey / userscript no Chrome

Vou ser o mais detalhado possível aqui, já que encontrei algumas soluções que não acabaram dando certo. Lembre-se de que eu não sei Javascript. Eu sei HTML e CSS básicos. Não tenho nenhum histórico de programação real, mas estou tentando aprender pouco a pouco pesquisando tarefas básicas como esta. Por favor, fale comigo como se eu fosse um idiota. Qualquer linguagem que eu gire neste post eu aprendi enquanto pesquisava esta questão específica. Estou escrevendo este script de usuário como um projeto pessoal e para compartilhar com alguns amigo

O que estou tentando fazer.

Estou tentando escrever um script de usuário para o Chrome / Greasemonkey (o Chrome é o meu navegador de destino) que clicará no Atualizar no navegador do servidor Battlefield 3. Para aqueles que não sabem, o Battlefield 3 usa um site emparelhado com um plug-in de navegador para VOIP e, na verdade, inicia o jogo através de um navegador de servidor. A maior parte dele parece ser um HTML bastante simples, organizado em tabela

A idéia é que, ao exibir a página principal de um servidor cheio, o script clique no Atualizar a cada três segundos, aproximadamente, até que a página relate um ponto aberto no servidor, pare o ciclo de atualização e clique no botão Ingressar no servidor. Eu já tenho a parte do script em execução que pesquisa o servidor atual e o máximo de jogadores e os atribui a suas próprias variávei

este momento, estou tentando obter um clique para funcionar no console, para que possa usá-lo no meu script e não ter sort

O código que estou tentando manipular.

Esta é a div do botão no qual estou tentando clicar, puxada das ferramentas de desenvolvimento do Chrome:

<div class="serverguide-header-refresh-button alternate show"> 
<div type="reset" class="common-button-medium-grey">
<p style="position: relative;">
<a href="/bf3/servers/show/c7088bdc-2806-4758-bf93-2106792b34d8/">Refresh </a>
</p>
</div>
</div>

(Esse link não é estático. É um link para uma página específica do servidor)

O que eu tentei.

Para encontrar o botão que estou usandogetElementsByClassName. Ele não possui um ID exclusivo, mas a classe é exclusiva para esse elemento nesta página em particular, entãogetElementsByClassName("serverguide-header-refresh-button")[0] está puxando a div correta a cada vez. Está fazendo com que o script execute qualquer ação real no botão que é o problem

document.getElementsByClassName("serverguide-header-refresh-button")[0].click();

Agora percebo que isso não funcionou porque não é um botão de envio convencional. Não compreendo as especificidades do padrão aqui, mas entendo que ele não suporta o.click() método.

function addJQuery(callback) {
  var script = document.createElement("script");
  script.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js");
  script.addEventListener('load', function() {
    var script = document.createElement("script");
    script.textContent = "(" + callback.toString() + ")();";
    document.body.appendChild(script);
  }, false);
  document.body.appendChild(script);
}

// the guts of this userscript
function main() {
  unsafeWindow.jQuery('.serverguide-header-refresh-button')[0].click();
}

// load jQuery and execute the main function
addJQuery(main);

Isto é simplesmenteunsafeWindow.jQuery('.serverguide-header-refresh-button').click(); envolvido em algum código para carregar o jQuery para scripts de usuários. Foi um pouco que eu peguei em outro lugar, mas me disseram que só funcionaria se o jQuery fosse carregado na página. Achei que valia a pena tentar. Este é um daquelesNão faço ideia do que estou fazend tiros no escuro e não funcionou. Tentei a mesma coisa abaixo com outro trecho de código jQuery que peguei:

function addJQuery(callback) {
  var script = document.createElement("script");
  script.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js");
  script.addEventListener('load', function() {
    var script = document.createElement("script");
    script.textContent = "(" + callback.toString() + ")();";
    document.body.appendChild(script);
  }, false);
  document.body.appendChild(script);
}

// the guts of this userscript
function main() {
   var evObj = document.createEvent('Events');
      evObj.initEvent("click", true, false);
      document.getElementsByClassName('serverguide-header-refresh-button')[0].dispatchEvent(evObj);
}

    // load jQuery and execute the main function
addJQuery(main);

Ambos retornamIndefinid nos consoles Chrome e Firebu

ntão, alguém teria a gentileza de me ajudar a criar um pouco de código para esse script pressionar o botão Atualizar nesta págin

questionAnswers(2)

yourAnswerToTheQuestion