Python Selenium 4 - Firefox FirefoxBinary() Deprecated

爱⌒轻易说出口 提交于 2021-02-10 21:16:35

问题


I have upgraded to Selenium 4

new_binary_path = FirefoxBinary('path_to_binary')
selenium.webdriver.Firefox(executable_path=path, options=ops, firefox_binary=new_binary_path)

or

options.add_argument("--setBinary(path_to_binary)")
selenium.webdriver.Firefox(executable_path=path, options=ops)

Return this error message

DeprecationWarning: executable_path has been deprecated, please pass in a Service object

Documentation

https://github.com/SeleniumHQ/selenium/blob/master/javascript/node/selenium-webdriver/CHANGES.md

Says

Removed the firefox.Binary class. Custom binaries can still be selected using firefox.Options#setBinary(). Likewise, custom binary arguments can be specified with firefox.Options#addArguments()

Does anyone know how to implement these changes? I don't know what the hashtag means. I tried options.setBinary() but setBinary() is not recognised.


回答1:


I have solved the issue

    from selenium.webdriver.firefox.options import Options as options
    from selenium.webdriver.firefox.service import Service

    #///////////////// Init binary & driver
    new_driver_path = 'path to driver'
    new_binary_path = 'path to binary'

    ops = options()
    ops.binary_location = new_binary_path
    serv = Service(new_driver_path)
    browser1 = selenium.webdriver.Firefox(service=serv, options=ops)



回答2:


After installing the new version I encountered this problem and solved it as follows. I hope it helps to other friends.

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.firefox.service import Service
from selenium.webdriver.firefox.options import Options as options
from selenium.webdriver.firefox.options import Options as Firefox_Options

firefox_options = Firefox_Options()
firefox_options.binary = r'C:\Program Files\Mozilla Firefox\firefox.exe';

driver = webdriver.Firefox(executable_path=r'C:\\xampp\\htdocs\\dev\\geckodriver.exe',options=firefox_options)

driver.get('https://google.com')


来源:https://stackoverflow.com/questions/58296262/python-selenium-4-firefox-firefoxbinary-deprecated

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!