2017-09-04 38 views
-1

我一直在試圖創建一個腳本,收藏夾的所有在Etsy的商店的物品瀏覽器控制檯的JavaScript「不能讀取屬性‘點擊’未定義」

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

但是我得到這個錯誤,當我嘗試運行在開發者控制檯的腳本在Chrome

「遺漏的類型錯誤:無法讀取屬性‘點擊’的未定義 在:3:11」

我是否認爲這應該起作用?我不知道一個網站上運行的JavaScript替代,我從進入自動化工具,如硒


登錄到除了在回答第一個評論

<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>

+0

大概是因爲有一些有名字'喜愛-container'沒有元素。 – Li357

+0

您可以在這裏使用getElementsByName,因爲您沒有在任何地方使用name屬性。您正在尋找getElementsByClassName。 – jswebb

+0

我已經使用getElementsByClassName併成功選擇頁面上的元素 – Weefunker

回答

0

您正在使用錯誤方法獲取元素,請嘗試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(); 
}); 
+0

這列出所有元素,但不點擊它們「(31)[div.favorite-container ......................」 – Weefunker

相關問題