Python Selenium 4 - Firefox installAddon 不工作
Python Selenium 4 - Firefox installAddon not working
我已经升级到 selenium 4
new_addon_path = 'D:/GOOD/Coding/uBlock.xpi'
browser1 = selenium.webdriver.Firefox(options=opts, etc....)
browser1.install_addon(new_addon_path)
错误:
selenium.common.exceptions.WebDriverException: Message: Expected absolute path: [Exception... "Component returned failure code: 0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH) .....
文档:
https://github.com/SeleniumHQ/selenium/blob/master/javascript/node/selenium-webdriver/CHANGES.md
文档说:
Changes to firefox.Driver .. Added installAddon(path)
在 C:/Users/User/AppData/Local/Temp/
中自动创建了一个 临时配置文件
我想要这个临时配置文件,这样我就可以同时处理多个驱动程序会话,而无需手动创建和分配新配置文件。
可以使用 browser1.__dict__['capabilities']['moz:profile']
找到此临时配置文件
我尝试过的修复:
尝试将 uBlock.xpi
放入个人资料文件夹,然后调用 browser1.install_addon(path to profile/extensions/uBlock.xpi)
尝试将 uBlock.xpi
放在与 geckodriver.log
相同的文件夹中
所有路径都会失败,无论它们是相对路径还是绝对路径。
文档还说:
Changes to firefox.Options .. Added addExtensions
在 firefox.Options
中甚至没有作为选项存在
Message: Expected absolute path
此错误消息告诉您确切的问题。
install_addon()
需要 绝对路径 ,但您传递的是 相对路径 .
解决办法是使用绝对路径。
The documentation says
您指向的文档是针对 JavaScript 绑定的,但您的代码使用的是 Python 绑定。您正在阅读错误的文档。
github.com 的小伙子们解决了这个问题,
browser1.install_addon('D:/GOOD/Coding/uBlock.xpi')
应该看起来像:
browser1.install_addon(r'D:\GOOD\Coding\uBlock.xpi')
这个有效
我不确定为什么,因为 service()
函数或任何其他 python selenium 函数在 windows 带有黑斜杠。但是,此路径需要此公式。
我已经升级到 selenium 4
new_addon_path = 'D:/GOOD/Coding/uBlock.xpi'
browser1 = selenium.webdriver.Firefox(options=opts, etc....)
browser1.install_addon(new_addon_path)
错误:
selenium.common.exceptions.WebDriverException: Message: Expected absolute path: [Exception... "Component returned failure code: 0x80520001 (NS_ERROR_FILE_UNRECOGNIZED_PATH) .....
文档:
https://github.com/SeleniumHQ/selenium/blob/master/javascript/node/selenium-webdriver/CHANGES.md
文档说:
Changes to firefox.Driver .. Added installAddon(path)
在 C:/Users/User/AppData/Local/Temp/
中自动创建了一个 临时配置文件
我想要这个临时配置文件,这样我就可以同时处理多个驱动程序会话,而无需手动创建和分配新配置文件。
可以使用 browser1.__dict__['capabilities']['moz:profile']
我尝试过的修复:
尝试将 uBlock.xpi
放入个人资料文件夹,然后调用 browser1.install_addon(path to profile/extensions/uBlock.xpi)
尝试将 uBlock.xpi
放在与 geckodriver.log
所有路径都会失败,无论它们是相对路径还是绝对路径。
文档还说:
Changes to firefox.Options .. Added addExtensions
在 firefox.Options
Message: Expected absolute path
此错误消息告诉您确切的问题。
install_addon()
需要 绝对路径 ,但您传递的是 相对路径 .
解决办法是使用绝对路径。
The documentation says
您指向的文档是针对 JavaScript 绑定的,但您的代码使用的是 Python 绑定。您正在阅读错误的文档。
github.com 的小伙子们解决了这个问题,
browser1.install_addon('D:/GOOD/Coding/uBlock.xpi')
应该看起来像:
browser1.install_addon(r'D:\GOOD\Coding\uBlock.xpi')
这个有效
我不确定为什么,因为 service()
函数或任何其他 python selenium 函数在 windows 带有黑斜杠。但是,此路径需要此公式。