从易趣搜索中删除没有指定运费的物品

Remove listings from Ebay search that have no shipping cost specified

本文关键字:搜索 易趣 删除      更新时间:2023-09-26

我试图编写一个防油精脚本,删除Ebay上显示"未指定发货"的搜索结果。下面的代码只删除了其中的一些,有时甚至删除了那些指定了运费的,或者可能只适用于1件商品。我甚至都不知道了。怎么了?

    // ==UserScript==
// @name         New Userscript
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http://*/*
// @grant        none
// ==/UserScript==
(function() {
    'use strict';
    var li = document.getElementsByClassName('lvshipping');
    for(var i=0;i < li.length;i++)
    {
        if(li[i].innerHTML.indexOf("Shipping not specified") != -1)
        {
            console.log("Found!!!!!!!!!!!!!!!");
            li[i].parentNode.parentNode.parentNode.removeChild(li[i].parentNode.parentNode);
        }
    }
})();

保持简单。

尝试向后循环:

for (var i = li.length; i-->0 ;)

我认为document.getElementsByClassName会返回一个动态NodeList。因此,当您从文档中删除当前<li>时,它也将从列表中删除,将下一个<li>移动到位置i。迭代器的i++将跳过该元素而不进行处理。