如何在Selenium Python中使用Firefox配置文件

3

我正在尝试使用Firefox配置文件。
我尝试过:

from selenium import webdriver
fp = webdriver.FirefoxProfile('C:/Users/<user name>/AppData/Roaming/Mozilla/Firefox/Profiles/abc3defghij2.ProfileName')
driver = webdriver.Firefox(fp)
driver.get("https://www.example.com/membersarea")

除了
from selenium import webdriver
from selenium.webdriver.firefox.webdriver import FirefoxProfile

profile = FirefoxProfile('C:/Users/Bain3/AppData/Roaming/Mozilla/Firefox/Profiles/g4sh4k5c.fa')
driver = webdriver.Firefox('C:/Users/Bain3/AppData/Roaming/Mozilla/Firefox/Profiles/g4sh4k5c.fa')
driver.get("https://dev59.com/_HnZa4cB1Zd3GeqPtbWg")

这个方法起作用了。后来我再次尝试启动,但现在Firefox似乎无法加载任何URL。看起来现在当我使用 <a> 标签或在地址栏中输入URL时它只是不加载。
driver = webdriver.Firefox()
driver.get('http://stackoverflow.com')

这会加载浏览器但不会加载网址。
我认为由于某种原因,添加配置文件似乎会更改geckodriver的目录。我正在使用python 3 Anaconda在虚拟环境中。更改系统目录、启动geckodriver和Anaconda gecko-driver重新安装都无法解决这个问题。 我想也许修改 driver = webdriver.Firefox(executable_path=r'C:\Users\Bain3\Music\geckodriver.exe')(fp) 可以有所帮助。
为什么我只能启动一次Firefox的单独配置文件,现在它只是启动一个空白的Firefox。控制台中没有错误命令,就像它被冻结了。
这是Firefox启动的图片:https://ibb.co/nwnkp5 谢谢
1个回答

0

试试这个...

from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('C:/Program Files/Mozilla Firefox/firefox.exe')
driver = webdriver.Firefox(firefox_profile=fp,firefox_binary=binary)

参数需要是:firefox_profile=fp

二进制选项可用于指向已安装的Firefox的不同安装/版本


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接