我正在编写一个用户脚本(javascript/jquery)来自动化浏览器游戏中的一些事情。有一场拍卖会,商品可以打折购买。我想要一个脚本,当它有33%的折扣时自动购买商品。
这个脚本在拍卖的url (greasemonkey)上运行,然后检查是否有产品至少有33%的折扣-如果是这样的话,它将按下该行中的按钮来购买产品。
我现在面临的问题是:一旦你按下按钮,你必须确认你想要通过一个警告框购买商品。有没有办法让这一切自动化呢?
我用谷歌搜索了一下,还检查了stackoverflow,人们说用javascript/jquery是不可能的。真的是这样吗?这意味着,在我正在玩的浏览器游戏中,基本上不可能自动购买商品。我在考虑让脚本自动按ENTER键,因为这等同于在警告框中单击“Ok”。但他们表示,这也是不可能的。所以现在我在想:有没有一种方法可以自动化呢?
这是按钮背后的代码:
<input id="buybutton_3204781" class="button" type="button" onclick="if(confirm('Wil je deze producten kopen?')){document.submitForm.BuyAuctionNr.value=3204781; document.submitForm.submit();}{return false;}" value="Kopen">
编辑:
万岁,它是通过改变按钮的属性onClick来工作的!下面是使用的代码:
$('element').attr('some attribute','some attributes value');
现在可以关闭了,非常感谢大家,感谢你们的帮助!
发布于 2012-12-17 04:33:38
根据浏览器的不同,可能会覆盖window.confirm
,例如
(function() {
'use strict';
// Might was well save this in case you need it later
var oldConfirm = window.confirm;
window.confirm = function (e) {
// TODO: could put additional logic in here if necessary
return true;
};
} ());
我没有做任何广泛的测试,但我至少能够在firebug中覆盖window.alert
和window.confirm
。
请注意,如果他们的脚本已经获得了对警报/确认的引用(例如var a = window.confirm; a('herp');
),这对您没有帮助
另一种方法是覆盖您正在自动单击的按钮的功能,或者使用一些xhr手动发出AJAX / POST。
发布于 2012-12-17 04:21:38
不需要做太多更改,您可以尝试这样做
$(".button").each(function() {
if (this.id.indexOf("buybutton")!=-1) this.onclick=function() {
document.submitForm.BuyAuctionNr.value=this.id.replace("buybutton_","");
document.submitForm.BuyAuctionNr.submit();
}
});
我使用this
和onclick
是因为我想替换现有的onclick处理程序,而不是添加一个
如果您只是想购买,请获取ID并使用您的用户脚本提交表单
由于我不知道您是如何知道折扣的,因此示例如下
$(".button").each(function() {
if (this.id.indexOf("buybutton")!=-1) {
var ID = this.id.replace("buybutton_","");
if ($("#discount_"+ID).val()<30) {
document.submitForm.BuyAuctionNr.value=ID;
document.submitForm.BuyAuctionNr.submit();
}
}
});
它将提交它找到的第一个。将提交替换为$.get或post,以提交所有打折商品
发布于 2012-12-17 04:58:54
使用JavaScript,您可以以任何您喜欢的方式修改HTML和JavaScript代码。
我建议修改OnClick函数,以便
<input id="buybutton_3204781" class="button" type="button"
onclick="
if(confirm('Wil je deze producten kopen?'))
{
document.submitForm.BuyAuctionNr.value=3204781;
document.submitForm.submit();
}
{
return false;
}" value="Kopen">
简单地说变成了
<input id="buybutton_3204781" class="button" type="button"
onclick=
"document.submitForm.BuyAuctionNr.value=3204781;
document.submitForm.submit();"
value="Kopen">
https://stackoverflow.com/questions/13905043
复制相似问题