使用Chrome扩展程序触发网站内的自动点击 - JQuery

时间:2013-07-10 15:50:19

标签: javascript jquery google-chrome google-chrome-extension

我目前正在尝试使用此网站进行我的实验:

http://store.nike.com/us/en_us/pd/lunarglide-5-running-shoe/pid-726047/pgid-726952

我想要完成的是,用户在Chrome扩展程序端输入默认的鞋码,一旦点击此页面,它将自动点击正确的尺寸,然后点击添加到购物车。

我已经完成了所有这些,除了它不会提交,它告诉我要添加一个鞋码。

Gif:

$(document).ready(function(){   
    checkForData();

    $('.add-to-cart').trigger('click');
});
function checkForData()
{   
    $('ul.footwear li').removeClass("selectBox-selected");
    chrome.storage.local.get('value', function (results) {
        $('ul.footwear').find('a').filter(function(idx, el){
            return $.trim($(this).text()) == $.trim(results.value);
        }).closest('li').addClass('selectBox-selected');
        $("a.footwear span.selectBox-label").text("("+$.trim(results.value)+")");
    });
}

如果你看..}).closest('li').addClass('selectBox-selected');我曾尝试使用触发事件,就好像它被点击但没有任何反应所以我只是给了它如果有人点击它就会有它的类。

大卫

1 个答案:

答案 0 :(得分:1)

那里还有一个select输入..

<select name="skuAndSize" class="size-dropdown mediumSelect footwear selectBox" style="display: none;">
         <option value=""></option>
            <option class="size-not-in-stock" name="skuId" value="3096786:6">6</option>
            <option class="size-not-in-stock" name="skuId" value="3096787:6.5">6.5</option>
            <option name="skuId" value="3096788:7"> 7</option>
            <option name="skuId" value="3096789:7.5" selected="true"> 7.5</option>
             ..........
             ..........
 </select>

我猜您在尝试提交之前需要在此处选择一个选项。毕竟,这里的变量将在表单中发布。您似乎正在做的只是更改DOM UI。

添加它可能有效:

$("select[name='skuAndSize']").val("3096789:7.5");