提问人:user1331044 提问时间:2/11/2023 最后编辑:Gilles Quénotuser1331044 更新时间:2/11/2023 访问量:81
如何从浏览器中的 DOM 和 XPath 中删除项目?
how to remove items from DOM and XPath in my browser?
问:
我希望有人能帮忙。我正在尝试使用 Firefox 插件 RIP(永久删除它)从 ebay 列表中删除项目,该插件使用 XPath 并删除选定的路径。顺便说一句:该插件很旧,因此它仅适用于旧版本的Firefox。但我认为插件本身与解决方案并不真正相关,因为我想这是一个需要解决的 XPath 问题。
因此,例如,如果我想删除此 ebay 列表中的所有项目:
包含关键字“Agfa”,我尝试这样做(在检查网页的源代码后):
//li[@class='s-item s-item__pl-on-bottom']/img[contains(@alt,'Agfa')]
我也尝试过不同的方法,但无济于事。这些项目不会被删除。请注意,ebay 列表一直在更新,因此您需要尝试使用列表中当前的其他关键字。
有人知道该怎么做吗?
答:
1赞
Gilles Quénot
2/11/2023
#1
我成功地在浏览器的开发工具中删除了 Agfa 项目:
$x('//li[@data-viewport][contains(., "AGFA")]')[0].remove()
对于多个项目:
$x('//li[@data-viewport][contains(., "AGFA")]').filter(elt => elt.remove())
如果您只需要 XPath 来馈送:RIP
'//li[@data-viewport][contains(., "AGFA")]'
评论
0赞
user1331044
2/11/2023
嗨,吉尔斯,感谢您的回复。我不熟悉开发工具,它是否内置到 Firefox 中,我该如何使用它?
1赞
Gilles Quénot
2/11/2023
只需在 firefox 开发工具的控制台选项卡中输入我的最后一个片段:ctrl+shift+c
0赞
user1331044
2/11/2023
好的,那行得通,太棒了:-)对于多个关键字,此代码片段也可以有多行,最重要的是,是否可以保存一批此类命令并永久使用列表?我还有一些项目只有在一个关键字存在但另一个关键字不存在时才必须删除,例如:“仅当关键字”AGFA“存在但关键字”Canon“不存在时才删除项目。也许您也可以指出如何做到这一点?
1赞
Gilles Quénot
2/11/2023
如果 RIP 不是您期望的,您可以使用 Tampermonkey 创建用户脚本。tampermonkey.net
1赞
user1331044
2/11/2023
太棒了,是的,它确实有效!对于 RIP,我熟悉如何使用一批命令和不同的关键字。谢谢!我现在将问题标记为 answererd。你的回答可能也会对其他人有所帮助:-)
评论