错误是:
TypeError: __init__() got multiple values for argument 'executable_path'
我看不出是什么引起的!
chrome_options = Options() #line 8
chrome_options.add_argument('--headless') #line 9
chrome_options.add_argument('--no-sandbox') #line 10
chrome_options.add_argument('--disable-gpu') #line 11
browser=webdriver.Chrome(chrome_options,executable_path=r'C:/Users/Lenovo/AppData/Roaming/Python/Python37/chromedriver.exe') #This is line 12
这就是错误
Traceback (most recent call last):
File "main.py", line 12, in <module>
browser = webdriver.Chrome(chrome_options, executable_path=r'C:/Users/Lenovo/AppData/Roaming/Python/Python37/chromedriver.exe')
TypeError: __init__() got multiple values for argument 'executable_path'
2条答案
按热度按时间f1tvaqid1#
executable_path
是由Chrome
定义的第一个位置参数,因此这就是第一个位置参数chrome_options
所绑定的。然后尝试设置相同的参数 * 再次 *,这次使用关键字参数。使用关键字参数指定两者:或先指定路径:
我仍然使用关键字参数作为选项,因为
options
是 * 第三个 * 位置参数;port
是第二个。下面是有问题的定义:
kknvjkwl2#
此错误消息...
...意味着在调用 RemoteWebDriver 时多次提到参数“executable_path”。
按照selenium.webdriver.chrome.webdriver.WebDriver Class实现:
此外,根据Chrome的WebDriver(RemoteWebDriver)定义:
因此,在可以传递的参数中调用 RemoteWebDriver for ChromeDriver/Chrome
executable_path
的参数是第一个参数,也是默认参数,以防 Key 没有特别指定。因此,在您的用例中,由于您没有提到第一个参数的_key_,它被认为是
executable_path
的 value。在第二个参数中,你再次提到了executable_path
的 Key / Value 对。因此,您可以看到错误:解决方案
您的有效代码块可以是以下任一项:
或者