我有点卡住了。我正在尝试创建一个Grease Monkey脚本,它会自动点击拍卖网站上显示的弹出窗口。我得到了Xpat,但我也没有与GM合作以使其发挥作用。
以下是我从火灾探测器获取的萤火虫检查线:
<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']
完整xpath的xpather行:
/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中完成一些简单的事情。
任何帮助都会被贬低。
由于 路德维希
答案 0 :(得分:1)
var joinBtn=document.evaluate('//*[@id, "ctl00_mainContentPlaceholder_Button3"]' ,document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null).singleNodeValue.click();
上面的第一个参数不是语法上合法的XPath表达式。
应:
//*[@id = "ctl00_mainContentPlaceholder_Button3"]