使用 Selenium 在 Firefox 中始终允许地理定位

2022-01-14 00:00:00 python selenium geolocation

问题描述

我正在使用 Selenium.

我正在使用 Python 并使用 Firefox 驱动程序

I am working in Python and using the Firefox driver

driver = webdriver.Firefox()

问题是我的网络应用程序使用 HTML5 地理位置,而且似乎每次运行测试时,我都必须在 Firefox 中单击允许位置"弹出窗口,这使得我的测试不太自动化.

The problem is that my web app using HTML5 geolocation, and it seems that everytime I run my tests, I have to click the 'Allow Location' popup in Firefox, making my tests less than automated.

有没有办法强制 Selenium Firefox 驱动程序始终允许地理定位而不提示?

Is there a way to force the Selenium Firefox driver to always allow geolocation without prompting?


解决方案

我相信默认是使用新的匿名配置文件启动 Firefox.您可以使用 -Dwebdriver.firefox.profile=whatever 启动 selenium,其中whatever"是您启动 firefox -P 时配置文件的名称.

I believe the default is to launch Firefox with a new, anonymous profile. You can launch selenium with -Dwebdriver.firefox.profile=whatever, where "whatever" is the name of a profile when you launch firefox -P.

为了确保持久登录和其他 cookie 没有异常:

To make sure there's no weirdness with persistent logins and other cookies:

  • 使用firefox -P"启动 Firefox
  • 选择用于启动测试的配置文件
  • 编辑 -> 首选项 -> 隐私,选择使用自定义历史设置
  • 告诉 Firefox 在我关闭 Firefox"之前保留 cookie

相关文章