OSError: [WinError 193]% 1 не является допустимым приложением Win32 при автоматизации с помощью Selenium ChromeDriver и Chrome в Python - PullRequest
0 голосов
/ 28 января 2019

Кодовый блок:

import time
from selenium import webdriver

browser = webdriver.Chrome('C:/Users/Cypher/Downloads/chromedriver_win32.zip')
browser.maximize_window()
browser.get('https://www.google.com/gmail/')
email_field = browser.find_element_by_id('identifierId')
email_field.clear()
email_field.send_keys('My mail')
email_next_button = browser.find_element_by_id('identifierNext')
email_next_button.click()
time.sleep(1)
password_field = browser.find_element_by_name('password')
password_field.clear()
password_field.send_keys('My password')
password_next_button = browser.find_element_by_id('passwordNext')
password_next_button.click()
time.sleep(100)
browser.quit()

Ошибка:

Traceback (most recent call last):
  File "C:/Users/Cypher/PycharmProjects/untitled5/login_gmail.py", line 4, in <module>
    driver = webdriver.Chrome('C:/Users/Cypher/Downloads/chromedriver_win32.zip')
  File "C:\Users\Cypher\PycharmProjects\untitled5\venv\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 73, in __init__
    self.service.start()
  File "C:\Users\Cypher\PycharmProjects\untitled5\venv\lib\site-packages\selenium\webdriver\common\service.py", line 76, in start
    stdin=PIPE)
  File "C:\Users\Cypher\Miniconda3\lib\subprocess.py", line 756, in __init__
    restore_signals, start_new_session)
  File "C:\Users\Cypher\Miniconda3\lib\subprocess.py", line 1155, in _execute_child
    startupinfo)
OSError: [WinError 193] %1 is not a valid Win32 application

Ответы [ 3 ]

0 голосов
/ 28 января 2019

Просто извлеките загруженный хромедрайвер ... chromedriver_win32.zip убедитесь, что в загрузках есть файл chromedriver.exe ...

browser = webdriver.Chrome('C:/Users/Cypher/Downloads/chromedriver.exe')

Надеюсь, это поможет вам!

0 голосов
/ 29 января 2019

Это сообщение об ошибке ...

OSError: [WinError 193] %1 is not a valid Win32 application

... означает, что аргумент , который вы передали для инициализации Chrome , не был в допустимом формате.

Вам необходимо учесть несколько фактов следующим образом:

  • Когда вы просто передаете абсолютное местоположение ChromeDriver по умолчанию он рассматривается как значение для аргумента executetable_path , который принимает значение исполняемого двоичного файла
  • каквы используете ОС Windows , вам нужно извлечь chromedriver.exe из chromedriver_win32.zip и поместить его в любое место в вашей системе.
  • Далеевам нужно передать абсолютное местоположение chromedriver.exe вместе с аргументом executetable_path .
  • Аргумент executable_path должен поддерживаться со значением в качестве одного из следующих:

    • r'C:\path\to\chromedriver.exe'
    • "C:/python/chromedriver.exe"
    • "C:\\python\\chromedriver.exe"
  • Рабочая строка кода будет:

    from selenium import webdriver
    
    browser = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe')
    
0 голосов
/ 28 января 2019

Вам необходимо скачать Chrome драйвер "ChromeDriver 2.45" по следующей ссылке http://chromedriver.chromium.org/downloadsand и написать приведенный ниже код, как указано.

from selenium import webdriver
browser=webdriver.Chrome("Path of the Chromedriver" + "chromedriver.exe" )

Дайте мне знать, если это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...