gpt4 book ai didi

Python 将 Adblock 与 Selenium 和 Firefox Webdriver 结合使用

转载 作者:太空狗 更新时间:2023-10-29 18:01:37 24 4
gpt4 key购买 nike

我的目标是通过 Python 将 Adblock Plus 与 Selenium 结合使用。我已经能够让它加载扩展,但默认情况下它不包含默认过滤器“EasyList”。这是我目前所拥有的:

 from selenium import webdriver
from time import sleep
ffprofile = webdriver.FirefoxProfile()
adblockfile = '/Users/username/Downloads/adblock_plus-2.4-tb+fx+an+sm.xpi'
ffprofile.add_extension(adblockfile)
ffprofile.set_preference("extensions.adblockplus.currentVersion", "2.4")
browser = webdriver.Firefox(ffprofile)
while(True):
browser.get("www.cnn.com")
sleep(5)

大部分代码是从 http://selenium-python.readthedocs.org/en/latest/faq.html 中提取的

最佳答案

实际上,Adblock Plus 默认会添加 EasyList - 但如果您将 extensions.adblockplus.currentVersion 首选项设置为禁用更新/首次运行操作,则不会。我猜你的目标是阻止首次运行页面出现,但它也阻止了数据存储初始化。请注意,您这里有更多问题:即使 Adblock Plus 添加了 EasyList,它仍然需要未知的时间来下载。

更好的做法应该是使用现有的 adblockplus/patterns.ini 文件初始化您的配置文件。您可以从您的常规 Firefox 配置文件、EasyList 和其他过滤器设置中获取此文件,并将其复制到 /Users/username/Downloads/profilemodel/adblockplus/patterns.ini。然后以下应该工作:

ffprofile = webdriver.FirefoxProfile("/Users/username/Downloads/profilemodel");

关于Python 将 Adblock 与 Selenium 和 Firefox Webdriver 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20832159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com