【问题标题】:How to load Firefox with javascript disable when running Selenium Webdriver (Python) tests?运行 Selenium Webdriver (Python) 测试时,如何在禁用 javascript 的情况下加载 Firefox?
【发布时间】:2011-12-23 07:40:47
【问题描述】:

我听说可以在启动 webdriver 时加载自定义 Firefox 配置文件,但我还没有找到一种方法来做到这一点。 Python 绑定文档并没有说得很清楚。

我需要在没有 JS 的情况下启动 Firefox,因为我正在测试的网站有很多由 Google 注入的广告,而且有些广告加载速度很慢,这也使得测试也很慢,因为它等待所有页面对象完成正在加载。

【问题讨论】:

  • 您是否尝试在 FF 中禁用 Google 广告?我不太确定这是否是一个解决方案,但值得一试。
  • @mangobug,我不确定如何在 FF 中禁用 Google 广告。即使我这样做了,那仍然需要为 selenium 加载自定义配置文件,不是吗?
  • @pyfunc:这只是有关如何设置新配置文件的信息,但我想知道当 selenium webdriver 开始运行 Firefox 时如何加载自定义配置文件
  • 拦截广告的帮助是@lancelhoff.com/blocking-google-adsense-ads,后面部分的答案是肯定的。

标签: javascript python selenium automated-tests


【解决方案1】:

您可以在启动 Selenium 服务器时使用-firefoxProfileTemplate 命令行选项。但是在测试浏览器在您的网站上的行为时禁用 javascript 似乎会适得其反(除非您的网站没有任何自己的脚本) - 您应该使用 adblock,或者在 hosts 文件中禁用 Google 广告使用的 IP Selenium 服务器,或为 Selenium 测试设置自定义用户代理,并且不要基于此加载广告。

【讨论】:

  • 我正在使用带有 python 绑定的 Webdriver。这对那个有用吗?
  • 我没用过Webdriver,但应该用过;这是 Selenium 服务器的一个选项,它与您选择的客户端无关。
  • 不适合我。这就是我运行脚本的方式:python somescript.py -firefoxProfileTemplate "someprofile"。点击“输入”后,它会显示“选项 -i 无法识别”。顺便说一句,我正在使用 python 2.7.2 在 Mac 上通过命令行运行它
  • 这是 Selenium 服务器的一个选项(使用类似 java selenium-server.jar 的东西运行)。您可能在没有 Selenium 服务器的情况下使用 WebDriver。 Selenium 文档有instructions 用于在这种情况下选择配置文件;我自己没有使用过 Webdriver,所以我不能说它是否有效。
猜你喜欢
  • 2014-10-07
  • 1970-01-01
  • 1970-01-01
  • 2023-04-03
  • 2016-09-10
  • 1970-01-01
  • 1970-01-01
  • 2017-02-10
  • 1970-01-01
相关资源
最近更新 更多