【问题标题】:Selenium 4 + webdriver_manager: executable_path is deprecated. How to use for Firefox?Selenium 4 + webdriver_manager:executable_path 已弃用。如何使用火狐?
【发布时间】:2021-12-15 19:45:24
【问题描述】:

我正在将我的测试项目从 Selenium 3 移动到 Selenium 4,并且收到有关“executable_path”弃用的警告。我找不到将 webdriver_manager 用于带有 Selenium 4 的 Firefox 的正确方法,所以我仍在使用“executable_path”。 他们也没有在这里更新他们的文档:https://pypi.org/project/webdriver-manager/

from selenium import webdriver
from webdriver_manager.firefox import GeckoDriverManager

driver = webdriver.Firefox(executable_path=GeckoDriverManager().install())

有没有人有这个案例的解决方案?

【问题讨论】:

    标签: selenium firefox automation webdriver-manager


    【解决方案1】:

    试试这个

    from selenium import webdriver
    from webdriver_manager.firefox import GeckoDriverManager
    driver = webdriver.Firefox(GeckoDriverManager().install())
    

    【讨论】:

    • 你确实和我的问题一样)
    • 我的问题是关于如何在 Firefox 中使用 webdriver 管理器而不使用像 executable_path 这样已弃用的东西
    • 纠正了我的错误——我不是这个意思,请看上面
    • 不,这不起作用,因为 WebDriver 对象的第一个参数是“firefox_profile”。问题是“executable_path”在 Selenium 4 中已被弃用,但目前没有关于如何使用 webdriver 管理器的信息。传递“executable_path”仍然有效,但我想摆脱这样的警告:DeprecationWarning: executable_path has been deprecated, please pass in a Service object
    【解决方案2】:

    好的,感谢这个视频,我解决了这个问题:https://www.youtube.com/watch?v=VMzmVFA-Gps

    正确的用法应该是:

    from selenium.webdriver.firefox.service import Service
    
    @staticmethod
    def get_local_firefox_driver(options):
        service = Service(GeckoDriverManager().install())
        driver = Firefox(
            service=service,
            options=options,
        )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-18
      • 2020-02-06
      • 2015-01-15
      • 2016-12-13
      • 2012-06-16
      • 2012-01-14
      • 2021-01-12
      • 2014-08-11
      相关资源
      最近更新 更多