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

时间:2017-08-30 17:32:49

标签: python python-3.x selenium selenium-webdriver geckodriver

我正在玩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://stackoverflow.com/questions/20289598/python-selenium-import-my-regular-firefox-profile-add-ons")

这很有用。然后我尝试再次启动它,现在firefox往往不加载任何网址。现在看来,当我使用

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 :(得分: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的不同安装/版本