__init__() got multiple values for argument 'options'
时间: 2023-08-02 08:06:06 浏览: 2457
c++ std::invalid_argument应用
5星 · 资源好评率100%
这个错误是因为在调用 `__init__()` 方法时,传递了多个值给了参数 `options`。这可能是因为你同时使用了 `chrome_options` 和 `options` 这两个参数,造成了冲突。
请检查你的代码,确保只传递一个值给参数 `options`。如果你需要使用 `chrome_options`,则应该将其替换为 `options`。修改后的代码如下所示:
```python
if engine != "Baidu":
browser = str.lower(browser)
if "chrome" in browser:
chrome_path = shutil.which("chromedriver")
chrome_path = "./bin/chromedriver" if chrome_path is None else chrome_path
options = webdriver.ChromeOptions()
if "headless" in browser:
options.add_argument("headless")
if proxy is not None and proxy_type is not None:
options.add_argument("--proxy-server={}://{}".format(proxy_type, proxy))
driver = webdriver.Chrome(chrome_path, options=options)
else:
phantomjs_path = shutil.which("phantomjs")
phantomjs_path = "./bin/phantomjs" if phantomjs_path is None else phantomjs_path
phantomjs_args = []
if proxy is not None and proxy_type is not None:
phantomjs_args += [
"--proxy=" + proxy,
"--proxy-type=" + proxy_type,
]
driver = webdriver.PhantomJS(executable_path=phantomjs_path,
service_args=phantomjs_args, desired_capabilities=dcap)
```
确保你只传递一个值给参数 `options`,并且没有重复的参数传递。如果问题仍然存在,请提供更多的上下文和代码,以便我能够更好地帮助你解决问题。
阅读全文