selenium 弃用警告:firefox_profile已被弃用,请传入一个Options对象

vybvopom  于 2022-12-18  发布在  其他
关注(0)|答案(3)|浏览(624)

首先,我想在selenium控制firefox的时候使用一些插件。
所以,我试着在selenium代码中加载firefox的**默认配置文件。
我的代码:

from selenium.webdriver.firefox.firefox_profile import FirefoxProfile

profile_path = r'C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles\y1uqp5mi.default'
default_profile = FirefoxProfile(profile_path)

driver = webdriver.Firefox(service=service, options=options, firefox_profile=default_profile)

但是,当我启动代码时,出现了DeprecationWarningfirefox_profile has been deprecated, please pass in an Options object
我搜索了很多,我不认为这是一个困难的问题,但遗憾的是,我不能解决这个问题最后,也许我的糟糕的英语拖累我......

ipakzgxi

ipakzgxi1#

以下是此操作的文档:https://www.selenium.dev/documentation/webdriver/capabilities/driver_specific_capabilities/#setting-a-custom-profile
我在当地试过了,效果很好:

EDITED:我已更改代码,因此没有弃用警告

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

profile_path = r'C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles\y1uqp5mi.default'
options=Options()
options.set_preference('profile', profile_path)
service = Service(r'C:\WebDriver\bin\geckodriver.exe')

driver = Firefox(service=service, options=options)

driver.get("https://selenium.dev")

driver.quit()
yfwxisqw

yfwxisqw2#

此错误消息...

firefox_profile has been deprecated, please pass in an Options object

...意味着FirefoxProfile()已被“弃用”,要使用selenium4的“自定义配置文件”,您必须使用Options的示例。
此 * 弃用警告 * 与以下 * 更改日志 * 内联:

  • selenium 4 β 1
    • 在驱动程序示例化中弃用除OptionsService之外的所有参数。(#9125,#9128)*
  • selenium 4 β 2
    • 弃用“选项”中的Firefox配置文件 *
  • selenium 4 β 3
    • 仅当配置文件在选项中使用时才给予弃用警告 *

以前通过profile.set_preference()设置的所有配置现在都可以通过**options.set_preference()**设置,如下所示:

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

profile_path = r'C:\Users\Admin\AppData\Roaming\Mozilla\Firefox\Profiles\s8543x41.default-release'
options=Options()
options.set_preference('profile', profile_path)
options.set_preference('network.proxy.type', 1)
options.set_preference('network.proxy.socks', '127.0.0.1')
options.set_preference('network.proxy.socks_port', 9050)
options.set_preference('network.proxy.socks_remote_dns', False)
service = Service('C:\\BrowserDrivers\\geckodriver.exe')
driver = Firefox(service=service, options=options)
driver.get("https://www.google.com")
driver.quit()

时间;日期

设置自定义配置文件

a64a0gku

a64a0gku3#

我试过这个

from selenium.webdriver.firefox.options import Options

profile_path = r'C:\Users\Administrator\AppData\Roaming\Mozilla\Firefox\Profiles\y1uqp5mi.default'
options=Options()
options.set_preference('profile', profile_path)
driver = Firefox(options=options)

相关问题