我在这里很陌生,对通用汽车的脚本编写也很陌生。在这里的一些成员,布洛克和其他人的帮助下,我正在取得进展。
我目前有调试Greasemonkey脚本的问题,但由于某种原因,我没有掌握窍门。我的第一个问题是使用console.log调试firebug。
有时我会找到日志,大多数时候我在那里什么都找不到,我想我用错了。然后尝试使用alert来查看变量值。。。同样的故事。
我目前正在尝试获取一个脚本来处理网站上的一些拍卖Trada.net在Brock Adams的大力帮助下,我们已经完成了一半以上,但我仍然在JS脚本上努力……如果你认为我15多年前就习惯了turbo pascal,那将是一种新的体验。:)
好吧,目前这是我在剧本上总结的内容:
// ==UserScript==
// @name bid up to test3
// @include http://www.trada.net/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js
// ==/UserScript==
//--- Create a cell for transmitting the date from page scope to GM scope.
$( body ). prepend ( <div id="LatestJSON_Data"></div> );
var J_DataCell = $( #LatestJSON_Data );
//--- Eavesdrop on the page s AJAX calls and paste the data into our special div.
unsafeWindow.$( body ).ajaxSuccess (
function (event, requestData)
{
J_DataCell.text (requestData.responseText);
}
);
// **bid function and var s
// **var interval = 50;
// **var bidClickTimer = setInterval (function() {BidClick (); }, interval);
// **var numBidClicks = 0;
// **var A1reset_go = false;
// **function BidClick1 ()
// **{var //bidBtn1=document.getElementById("ctl00_mainContentPlaceholder_AirtimeAuctionItem1_btn_BidButton");
//** numBidClicks++;
//** if (numBidClicks > 10)
//** { Alert("check10");
//** clearInterval (bidClickTimer);
//** bidClickTimer = "";
//** }
//** else
//** { Alert("check11");
//** bidBtn1.click (1);
//** }
//**};
//**end bid function
//--- Listen for changes to the special div and parse the data.
J_DataCell.bind ( DOMSubtreeModified , ParseJSON_Data);
function ParseJSON_Data ()
{
//**my var
//**var auction_type ;A1_upto;A1_start;A1_current;A1_reset;
//**end my var
//--- Get the latest data from the special cell and parse it.
var myJson = J_DataCell.text ();
var jsonObj = $.parseJSON (myJson);
//--- The JSON should return a 2-D array, named "d".
var BidDataArray = jsonObj.d;
//--- Loop over each row in the array.
$.each (
BidDataArray,
function (rowIndex, rowValue) {
//--- Print the 7th column.
console.log ( Row: + (parseInt (rowIndex) + 1) + Column: 7 Value: + rowValue[6]);
//** my part
//** Alert("check1");
//** auction_type=parseInt (rowValue[4]);
//** if (auction_type== 1)
//**
//** {Alert("check2");
//** A1_upto=parseInt (rowValue[12]);
//** Alert("check3");
//** A1_current=parseInt (rowValue[8]);
//** Alert("check4");
//** A1_reset=rowValue[16];
//** if (A1_reset != "null")
//** {Alert("check5");
//** A1reset_go= true ;
//** };
//** if (A1_reset == "null") and (A1reset_go== true )
//** {Alert("check6");
//** A1reset_go=false;
//** Alert("check7");
//** A1_start=rowValue[8];
//** };
//** if ((A1_current - A1_start) <= (A1_upto - 10))
//** {Alert("check8");
//** BidClick1 ();
//** };
//** };
//** end my part
};
);
}
//--- Format our special cell with CSS. Add "visibility: hidden;" or "display: none;", if desired.
GM_addStyle ( (<><![CDATA[
#LatestJSON_Data
{
background: gold;
border: 3px ridge #0000DD;
font-size: 10px;
margin: 0 2em;
padding: 1ex 1em;
width: 94%;
opacity: 0.8;
overflow: hidden;
z-index: 666;
position: absolute;
color: black;
}
]]></>).toString () );
基本上,到目前为止,它确实创建了一个单元格,它在其中显示放入数组中的所有拍卖数据BidDataArray
。
我想使用数组中每秒更新的数据来获取某些数据,然后决定是否单击出价按钮。
第一次拍卖时,我停滞不前。计时器拍卖我让它每隔几秒钟点击一次。
在第一次拍卖会上,我基本上想:
- Check which auction it is,
- Find out if it is the first bid for auction,
- Get the bid up to amount,
- Do calculations to start clicking the last 10 clicks of the auction.
- Reset the starting amount.
听起来很简单,但没有调试器,对Js和GM知之甚少,这让我很忙。我试着把我的变量放在控制台日志中,但无法跟踪它们。可能申报错误,或者使用错误。。。但我看不出错误,而且我没有调试程序来测试它们。
java调试器能工作吗?但它没有链接到网站。。。
此外,当我把我的部分添加到Brock的代码中时,它不再显示包含信息的单元格。。。所以我在哪里破坏了他的密码,我找不到问题。。。在我向他的代码添加任何内容之前,它运行良好,然后我添加了我的部分,它不再运行,所以我用“//”将其删除。所以剧本应该跳过它,但他的部分已经不起作用了。我尝试添加“提醒”,但似乎找不到问题。我的所有部件都标有“//**”,目前应该处于非活动状态。
任何帮助都将不胜感激。谢谢