当前位置: 首页 > 面试题库 >

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

朱啸
2023-03-14
问题内容

我的目标是通过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的新手,并且开始自学使用PyQT4.7和Python 2.6进行GUI编程(希望如此) 我刚刚从PyQT网站下载了整个PyQT / QT4软件包(包括QTDesigner),但是看起来QTDesigner看起来像个新手,因为每个小部件都看起来很棒(因为您可以看到所有属性/属性/默认设置等)编辑属性很棒,但是PyQT似乎没有设置QTDesigner与PyQT和PyQTs

  • 问题内容: TextMate似乎使用了我假定的内置Python版本(sys.path不起作用)。您如何配置它以使用3.1?我已经安装了3.1软件包,并且可以将IDLE用于交互式会话,但是现在需要使用TextMate。 谢谢 问题答案: TextMate使用变量的值来查找Python解释器的路径。一个好的解决方案是利用TextMate的能力来定义变量(例如基于每个项目): 打开一个新的或现有的Tex

  • 问题内容: 我已导入以下内容,但在使用时仍然出现错误 注意:我在Eclipse中使用Selenium WebDriver。 示例代码如下。 我收到一条错误消息,指出 指向线 你们其中一个能让我知道这里有什么不对吗? 问题答案: 您可以尝试使用此方法,这里已解决了类似的问题#sendKeys问题 或简单地

  • 一方面,我有一个文本加密/解密与Perl的 另一方面,我有Python的PyCrypto,我需要它来解码来自Perl的数据,但也发送Perl密码可以在给定加密的情况下读取的文本。 我拥有来自Perl程序的密钥,并对Perl发送到Python系统的\u hex:ed密码短语进行加密。 但是Python似乎绝对希望有IV来完成它的工作 然而,documnetation似乎表明IV已经存在 “盐”——将

  • 问题内容: 我们将Robotium与一起用于测试。虽然如此,我们想用Robotium代替Espresso,但是我们仍然有一些疑问,因为我们有一台装有Jenkins的CI机器。 Espresso使用的是Robotium ,而Robotium使用的是第一个,我们希望能够同时使用两个测试框架。可能吗?我们如何在文件中指定呢?我们如何配置我们的詹金斯机器,以针对不同的测试框架执行不同的任务? 我知道Esp

  • 我用JUnit 4和Selenium Webdriver创建了我的功能测试,它运行正常 现在我想用JMeter进行性能测试。 我在JMeter的库中复制了,然后将测试从Eclipse导出到. jar文件。 这是我的硒测试