如何防止Selenium从网页上下载某些“来源”?

时间:2020-07-30 15:41:04

标签: javascript selenium google-chrome

我正在使用 Selenium 进行某些网络抓取活动,我真的感到需要通过阻止特定文件类型限制数据消耗或下载的文件名。我希望通过 regex 过滤器阻止它们,例如:

  • *.MP4
  • *.css
  • *ads.google.com*

到目前为止,我还没有找到任何解决方案,如果可能的话,我期待一个 JavaScript 解决方案。

1 个答案:

答案 0 :(得分:0)

我发现可以通过调解 Chrome扩展程序中间件来实现该解决方案。

尤其是在background-scripts中,您可以使用onBeforeRequests处理和过滤每个单个请求

chrome.webRequest.onBeforeRequest.addListener(
        function(info) {
            return {cancel: info.url.toLowerCase().includes('.css') || info.url.toLowerCase().includes('.gif') || info.url.toLowerCase().includes('.png') || info.url.toLowerCase().includes('.jpg') || info.url.toLowerCase().includes('.jpeg') || info.url.toLowerCase().includes('.webm') || info.url.toLowerCase().includes('.webp') ||info.url.toLowerCase().includes('.mp4') || info.url.toLowerCase().includes('allHeaderNonBlocking.js') || info.url.toLowerCase().includes('allHeader.js?') || info.url.toLowerCase().includes('/analytics.js') || info.url.toLowerCase().includes('googletagmanager') || info.url.toLowerCase().includes('calleo-livechat') || info.url.toLowerCase().includes('.svg') };
        },
        {
            urls: ["<all_urls>"]
        },
        ["blocking"]
    );