因此,我試圖在每次訪問任何nike.com運動鞋頁面(沒有HTML鏈接)時將其放在哪裏,它會自動選擇我的鞋子尺寸,並添加它到購物車,並檢查出我。選擇並激活AJAX驅動站點上的右側控件
我目前正在嘗試使用這個腳本(下面),但每次我去到運動鞋頁面,它都沒有正確添加我想要的鞋碼,但只是直接去我的購物車沒有結帳。
我被告知我需要將代碼與實際頁面HTML相匹配,但我不知道該怎麼做。請幫忙。
// ==UserScript==
// @name _Nike auto-buy(!!!) script
// @include http://*/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @require https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
introduced in GM 1.0. It restores the sandbox.
*/
var okayToClickAddtoCart = false;
//-- Assumes that size is a standard <option> tag or similar...
waitForKeyElements (".selectBox-label[value='10']", selectShoeSize);
function selectShoeSize (jNode) {
jNode.prop ('selected', true);
okayToClickAddtoCart = true;
}
waitForKeyElements (".add-to-cart.nike-button", clickAddToCart);
function clickAddToCart (jNode) {
if (! okayToClickAddtoCart) {
return true; //-- Don't click yet.
}
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent ('click', true, true);
jNode[0].dispatchEvent (clickEvent);
}
waitForKeyElements (".checkout-button", clickCheckoutButton);
function clickCheckoutButton (jNode) {
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent ('click', true, true);
jNode[0].dispatchEvent (clickEvent);
}
Link to the "target page"
Snapshot of the target HTML(如果目標頁面被刪除或由耐克改變)
'.selectBox標籤[值= '10' ]'是一個jQuery選擇器。它顯然不匹配實際頁面的HTML。禁用腳本,瀏覽頁面,將Firefox的頁面(** Ctrl ** + ** S **)保存爲「Targetpage.htm」,然後將該文件('Targetpage.htm')上傳到http:// pastebin.com/並鏈接到你的問題的pastebin。然後我們可以幫助你調整你的jQuery選擇器。 – 2013-02-24 03:23:09
這裏是目標頁面,http://pastebin.com/6M7cMw40 – Nite 2013-02-24 03:31:56
這裏是測試頁面(targetpage)http://store.nike.com/us/en_us/?l=shop,pdp,ctr-inline/cid -1/pid-656545/pgid-656543 – Nite 2013-02-24 03:54:38