Chromedriver崩溃并显示“无法识别的功能:chromeOptions”

时间:2019-07-01 08:46:15

标签: python-2.7 selenium-chromedriver

我一直在使用一个简单的Python2.7脚本,该脚本将Selenium与Chromedriver一起打开浏览器并下载一些文件。最近,我收到一个错误消息,说我的Chrome是ver时,Chromedriver已过时(Chrome版本必须在70到73之间)。 75.因此,我下载了ChromeDriver 75.0.3770.90,对于我的Chrome版本来说应该可以,但又出现另一个错误,提示“ selenium.common.exceptions.WebDriverException:消息:无效参数:无法识别的功能:chromeOptions”。

我在互联网上发现了一些提示,指出应使用ChromeOptions的方式已更改,但是我无法找到这些更改在Python代码中的外观。对于任何有用的提示或解决方案,我将不胜感激。

def browser(full_url):

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    import time


    options = Options()
    options.add_experimental_option("prefs", {
      "download.default_directory": r"C:\Users\%s\AppData\Local\Temp\\" % getpass.getuser(),
      "download.prompt_for_download": False,
      "download.directory_upgrade": True,
      "safebrowsing.enabled": True
    })
    options.add_argument("--window-size=640,480")
    driver = webdriver.Chrome(chrome_options=options)



    try:
        driver.get(full_url)
        print("\nURL successfully Accessed\n")
        time.sleep(9)

    finally:
        driver.close()

browser(full_url)

我得到的错误:

Traceback (most recent call last):
  File "C:\Users\M\Documents\Skrypty\domains.py", line 59, in <module>
    browser(full_url)
  File "C:\Users\M\Documents\Skrypty\domains.py", line 46, in browser
    driver = webdriver.Chrome(chrome_options=options)
  File "C:\Python27\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 69, in __init__
    desired_capabilities=desired_capabilities)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 98, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 188, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 256, in execute
    self.error_handler.check_response(response)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: invalid argument: unrecognized capability: chromeOptions

1 个答案:

答案 0 :(得分:0)

我只是在这里猜测,但我也遇到了这个。我使用了Python 2.7和Selenium 3.4.1。我无法用Python 3.7和Selenium 3.14.0复制该问题。因此,变化可能在于变化的硒中。您应该调查一下。

编辑:是的,我刚刚将Selenium更新至3.14.0,问题消失了。现在,我的驱动程序可以同时使用Python 2.7和3.7