【问题标题】:How can I get Selenium to operate directly on an existing Firefox profile?如何让 Selenium 直接在现有的 Firefox 配置文件上运行?
【发布时间】:2021-09-15 05:29:37
【问题描述】:

我发现即使我指定:

webdriver.Firefox(
    firefox_profile=webdriver.FirefoxProfile("/my/profile/path")
)

Selenium 实际上克隆该配置文件并基于该临时克隆启动浏览器。当您使用 Selenium 进行测试时,我确信这是有道理的,但由于我将它用于自动化,我想直接在现有配置文件上进行操作。

Selenium 可以做到这一点吗?实际上,我正在寻找一种方法来维护会话之间的状态(书签、历史记录、Firefox 同步设置等),因此持久会话对我来说最有意义。我在 Python 中做这项工作,但我想其他语言中使用的模式会类似。

【问题讨论】:

    标签: python selenium firefox


    【解决方案1】:

    试试这个

    from selenium import webdriver
    
    myprofile = webdriver.FirefoxProfile(r'C:\Users\{YOUR OWN USERNAME}\AppData\Roaming\Mozilla\Firefox\Profiles\moskcpdq.SeleniumTest')
    driver = webdriver.Firefox(firefox_profile=myprofile, executable_path=r'C:\Utility\BrowserDrivers\geckodriver.exe')
    driver.get('https://www.google.co.in')
    print("Page Title is : %s" %driver.title)
    driver.quit()
    

    确保您使用的配置文件路径正确!

    【讨论】:

    • 不幸的是,这似乎可以工作,但真正发生的是 Selenium 将您的整个配置文件复制到一个临时目录,将该目录用于整个运行,然后在关闭时删除所有内容 - 丢失任何生成的历史记录。
    猜你喜欢
    • 2016-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 2019-07-23
    • 1970-01-01
    相关资源
    最近更新 更多