我试图使用Selenium连接到现有的Firefox实例-文档说使用这样的东西
options=webdriver.FirefoxOptions()
options.binary_location = r'C:\Program Files\Mozilla Firefox\firefox.exe'
webdriver_service = Service(r'c:\tmp\geckodriver.exe')
driver = webdriver.Firefox(service = webdriver_service, service_args=['--marionette-port', '2828', '--connect-existing'])
然而,我得到了一个错误
driver = webdriver.Firefox(service = webdriver_service, service_args=['--marionette-port', '2828', '--connect-existing'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebDriver.__init__() got an unexpected keyword argument 'service_args'
我看到了关于"意外关键字参数"的其他问题,他们说最新版本的Selify有通过选项传递参数的其他方法.
我试过了
options.add_argument('--marionette-port')
options.add_argument('2828')
options.add_argument('--connect-existing')
但它似乎仍在创造一个新的Firefox实例
我用以下理由启动了Firefox
"C:\Program Files\Mozilla Firefox\Firefox.exe"-Marionette-启动-调试器-服务器2828
我该怎么弥补?
这些是我的版本
Python版本
python --version
Python 3.12.2
selenium版
pip show selenium
Name: selenium
Version: 4.18.1
Gecko驱动程序版本
geckodriver --version
geckodriver 0.34.0 (c44f0d09630a 2024-01-02 15:36 +0000)
Firefox 123.0(64位)
Windows 11