【问题标题】:Permanently blocking a network call / url on IE, Edge, Chrome or Firefox在 IE、Edge、Chrome 或 Firefox 上永久阻止网络调用/url
【发布时间】:2021-07-29 03:03:53
【问题描述】:

我有一个网页,我必须整天工作,它是一个门户。我每天至少需要重新加载它大约 500 次。

我发现它非常慢,并且我发现它会向我无法在此处列出的特定网站进行网络调用(只是为了加载个人资料图片),并且该网络调用超时。
现在因为超时,我无论如何都没有得到个人资料图片,但每次重新加载最终会浪费大约 30 秒。

我可以在 Chrome 开发工具的“网络”选项卡中阻止该域,但我正在寻找更永久的修复方法。我不想让开发工具一直打开,因为它使用宝贵的屏幕空间。我还没有找到永久阻止特定网络呼叫的方法,这将节省我每天的时间。

我现在想到了三件事:

  • 屏蔽网页上的​​所有图片资源
  • 可能使用 Selenium 初始化 chrome 实例,并传入阻止该网络调用的选项。
  • 阻止该特定网站?到目前为止它对我没有用,是我做错了吗?

我很乐意在任何浏览器(Internet Explorer、Edge、Chrome、Firefox)上进行修复。 这个有什么线索吗?我不可能是唯一一个面对这个问题的人,但如果不使用管理员访问权限,我还没有找到解决方案,而我没有。

【问题讨论】:

    标签: google-chrome internet-explorer firefox browser microsoft-edge


    【解决方案1】:

    解决方法 1:从 Selenium 调用 chrome 实例,并禁用所有图像。有效,但不是最好的方法。

    from selenium import webdriver
    
    chrome_options = webdriver.ChromeOptions()
    prefs = {"profile.managed_default_content_settings.images": 2}
    chrome_options.add_experimental_option("prefs", prefs)
    driver = webdriver.Chrome(chrome_options=chrome_options)
    

    【讨论】:

      【解决方案2】:

      解决方法 2:在执行 Network.setBlockedURLs 时从 Selenium 启动 Chrome 窗口。它仅适用于 Selenium 4 及更高版本,但目前在 Selenium 4.0.0.b3 上不起作用。

      https://chromedevtools.github.io/devtools-protocol/tot/Network/#method-setBlockedURLs

      from selenium import webdriver
      driver = webdriver.Chrome()
      driver.execute_cdp_cmd('Network.setBlockedURLs', {"urls": ["https://www.somelink.com/*"]})
      driver.get("www.mywebsite.com")
      

      【讨论】:

        猜你喜欢
        • 2021-09-14
        • 1970-01-01
        • 2019-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-04
        相关资源
        最近更新 更多