Chrome控制台Javascript"无法读取属性'点击'未定义"

时间:2017-09-04 00:25:57

标签: javascript google-chrome console etsy

我一直在尝试创建一个收集etsy商店中所有商品的脚本



var buttons = document.getElementsByName('favorite-container');
for(var i = 0; i <= buttons.length; i++)  
buttons[i].click();
&#13;
&#13;
&#13;

但是,当我尝试在Chrome中的开发者控制台中运行脚本时,我收到此错误

&#34;未捕获的TypeError:无法读取属性&#39;点击&#39;未定义的     at:3:11&#34;

我认为这应该有用吗?我不知道在我登录的网站上运行Javascript的另一种选择,除了进入selenium等自动化工具

回应第一条评论

&#13;
&#13;
<div class="favorite-container" data-listing-id="547704515">
    <button type="button" class="btn-fave done" data-source="casanova-shop-featured" aria-pressed="true">
        <!--icon font and display:none; elements -->
        <span aria-hidden="true" class="icon"></span>
        <span class="screen-reader-only default">
            Favourite
        </span>
        <span class="screen-reader-only done remove">
            Favourited
        </span>
        <span class="ie-fix">&nbsp;</span>
    </button>
</div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:2)

您使用错误的方法获取元素,请尝试document.getElementsByClassName

var buttons = document.getElementsByClassName("favorite-container");
for(var i = 0; i < buttons.length; i++)  {
    buttons[i].click();
}

或者您可以像这样使用JQuery:

$(".favorite-container").each(function(){
    $(this).click();
});