Сбой Chromedriver с «нераспознанной возможностью: chromeOptions» - PullRequest
1 голос
/ 01 июля 2019

Я использовал простой скрипт на Python2.7, использующий Selenium с Chromedriver, чтобы открыть браузер и загрузить некоторые файлы.В последнее время я получил сообщение о том, что Chromedriver устарел (версия Chrome должна быть между 70 и 73), в то время как мой Chrome был вер.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 голосов
/ 10 июля 2019

Только я догадываюсь здесь, но я также столкнулся с этим.Я использовал Python 2.7 и Selenium 3.4.1.Я не мог воспроизвести проблему с Python 3.7 и с Selenium 3.14.0.Таким образом, изменения лежат, вероятно, в измененном Selenium.Вы должны изучить это.

РЕДАКТИРОВАТЬ: Да, я только что обновил Selenium (до 3.14.0), и проблема ушла.Теперь у меня есть драйвер, работающий с Python 2.7 и 3.7

...