Нужно нажать кнопку ставки с помощью скрипта Grease monkey - PullRequest
2 голосов
/ 21 мая 2011

Я немного застрял.Я пытаюсь создать скрипт Grease Monkey, который автоматически щелкает всплывающее окно, которое появляется на сайте аукциона.Я получил Xpat, но я слишком опытен с GM, чтобы заставить его работать.

Вот линия проверки элементов, которую я получаю от искателя огня для firebug:

<input type="submit" style="width: 160px;" class="simplemodal-close" id="ctl00_mainContentPlaceholder_Button3" onclick="closePopup(); return false;" value="Back To Auctions" name="ctl00$mainContentPlaceholder$Button3">

и строка firpath, xpath:

.//*[@id='ctl00_mainContentPlaceholder_Button3']

строка xpather для полного xpath:

/html/body/form[@id='aspnetForm']/div[@id='simplemodal-container']/div/div[@id='basic-modal-content']/div[@id='modal_winningBanner']/div/div[2]/div[2]/input[@id='ctl00_mainContentPlaceholder_Button3']

Итак, что я использовал в своем скрипте gm, чтобы попытаться заставить его нажать на кнопку,следующим образом:

// @include *
// @version 0.1
// @description Automatically click // ==/UserScript==

click_popupBtn1 = function() {

var joinBtn=document.evaluate('//*[@id, "ctl00_mainContentPlaceholder_Button3"]'
    ,document,
      null,
     XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
     null).singleNodeValue.click();
  alert(joinBtn);
       if(!joinBtn) return false;
          joinBtn.click();
      return true;
}


click_popupBtn1 ();

Я думаю, что у меня что-то не так в синтаксисе, но я не знаю, как отлаживать GM.Я работал с Turbo Pascal всего несколько лет назад, но хотел бы сделать несколько простых вещей в Java и GM.

Любая помощь будет оценена.

Спасибо, Людвиг

Ответы [ 2 ]

1 голос
/ 22 мая 2011
var joinBtn=document.evaluate('//*[@id, "ctl00_mainContentPlaceholder_Button3"]'
                              ,document,      
                               null,     
                               XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
                              null).singleNodeValue.click();

Первый аргумент выше не является синтаксически допустимым выражением XPath.

Должно быть :

//*[@id = "ctl00_mainContentPlaceholder_Button3"]
1 голос
/ 21 мая 2011

ммм, я не понимаю много слов, которые вы использовали, или этот сложный синтаксис.

но что-то вроде:

document.getElementById("ctl00_mainContentPlaceholder_Button3").click();

должно работать.

...