如何使用Python在Selenium中添加多个选项

问题描述 投票:0回答:2

我想在Python中添加这些选项,一个用于安装扩展,一个用于分离浏览器。

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options

service_obj = Service("D:/Python/Chrome Driver/chromedriver.exe")
opt = webdriver.ChromeOptions()
opt.add_experimental_option("detach", True)
options = Options()
options.add_extension(r"C:\Users\enach\Downloads\extension_5_8_0_0.crx")

driver = webdriver.Chrome(service=service_obj, options=options, chrome_options = opt)

运行此代码后,出现此错误:

TypeError: WebDriver.__init__() got an unexpected keyword argument 'chrome_options'

我尝试制作多个选项,但不起作用。

python selenium-webdriver selenium-chromedriver
2个回答
0
投票

经过多次尝试,我成功找到了解决方案。

service_obj = Service("D:/Python/Chrome Driver/chromedriver.exe")
options = Options()
options.add_extension(r"C:\Users\enach\Downloads\extension_5_8_0_0.crx")
options.add_experimental_option("detach", True)
driver = webdriver.Chrome(service=service_obj, options=options)

您可以在定义 options=Options() 后添加您想要的选项,并注意先导入

from selenium.webdriver.chrome.options import Options
。祝你好运,我希望找到有用的!

如果你有其他方法在 Python Selenium 中解决这个问题,我想听听。


0
投票

由于selenium 4.10.0的变化:https://github.com/SeleniumHQ/selenium/commit/9f5801c82fb3be3d5850707c46c3f8176e3ccd8e

from selenium.webdriver.chrome.service import Service
options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
options.add_argument('--incognito')
options.add_argument('--headless')

options.add_argument('--headless')  # To run Chrome in headless mode
service = Service(executable_path='./chromedriver')

driver = webdriver.Chrome(service=service, options=options)
© www.soinside.com 2019 - 2024. All rights reserved.