无法在 python selenium 中加载 firefox 插件
Unable to load firefox Add ons in python selenium
我想在 selenium webdriver 运行s 时加载 Zenmate Firefox Addons
当我 运行 没有加载任何插件(扩展)但在添加任何插件时遇到问题时 运行 没问题。
这是我的代码:
def __init__(self):
self.main_catag_driver = []
self.declare_xpaths()
self.main_web_url = "Some_website_url"
self.path_fire_fox_file = "~/.mozilla/firefox/7rl1aw4c.default/extensions/firefox@zenmate.com.xpi"
self.driver = webdriver.Firefox()
self.driver.add_extension(extension=self.path_fire_fox_file)
time.sleep(5)
self.driver.get(self.main_web_url)
加载栏时出错:
Traceback (most recent call last):
File "scrap.py", line 73, in <module>
obj = carandclassic()
File "scrap.py", line 28, in __init__
self.driver.add_extension(extension=self.path_fire_fox_file)
AttributeError: 'WebDriver' object has no attribute 'add_extension'
add_extension()
is a method on FirefoxProfile
,不是WebDriver
:
profile = webdriver.FirefoxProfile()
profile.add_extension(extension=self.path_fire_fox_file)
self.driver = webdriver.Firefox(profile)
另外,我不确定你是否真的需要那个 time.sleep(5)
电话 - 请尝试不要浪费 5 秒。
虽然我同意 alecxe, it only worked for some of my extensions. I managed to install all of them successfully (from .xpi files) with install_addon()
调用已经实例化 webdriver.Firefox
:
driver = webdriver.Firefox(executable_path='path_to_geckodriver')
# Path to .xpi file needs to be an absolute path. I think it must be a string too.
driver.install_addon(str(Path('extensions/some_extension.xpi').absolute()))
driver.get("about:addons") # One step closer to see all extensions at glance
我想在 selenium webdriver 运行s 时加载 Zenmate Firefox Addons 当我 运行 没有加载任何插件(扩展)但在添加任何插件时遇到问题时 运行 没问题。 这是我的代码:
def __init__(self):
self.main_catag_driver = []
self.declare_xpaths()
self.main_web_url = "Some_website_url"
self.path_fire_fox_file = "~/.mozilla/firefox/7rl1aw4c.default/extensions/firefox@zenmate.com.xpi"
self.driver = webdriver.Firefox()
self.driver.add_extension(extension=self.path_fire_fox_file)
time.sleep(5)
self.driver.get(self.main_web_url)
加载栏时出错:
Traceback (most recent call last):
File "scrap.py", line 73, in <module>
obj = carandclassic()
File "scrap.py", line 28, in __init__
self.driver.add_extension(extension=self.path_fire_fox_file)
AttributeError: 'WebDriver' object has no attribute 'add_extension'
add_extension()
is a method on FirefoxProfile
,不是WebDriver
:
profile = webdriver.FirefoxProfile()
profile.add_extension(extension=self.path_fire_fox_file)
self.driver = webdriver.Firefox(profile)
另外,我不确定你是否真的需要那个 time.sleep(5)
电话 - 请尝试不要浪费 5 秒。
虽然我同意 alecxe, it only worked for some of my extensions. I managed to install all of them successfully (from .xpi files) with install_addon()
调用已经实例化 webdriver.Firefox
:
driver = webdriver.Firefox(executable_path='path_to_geckodriver')
# Path to .xpi file needs to be an absolute path. I think it must be a string too.
driver.install_addon(str(Path('extensions/some_extension.xpi').absolute()))
driver.get("about:addons") # One step closer to see all extensions at glance