Настройка селена для работы с Internet Explorer

Я создал сценарий python, который могу выполнять и делает именно то, что хочу, с помощью Google Chromedriver. Однако, чтобы убедиться, что мой исполняемый файл может работать на всех ПК, я хотел бы, чтобы мой скрипт работал с драйвером Internet Explorer, но у меня возникают проблемы. Я прикрепил образец тестового кода, который я пытаюсь запустить, вместе с получаемым мной сообщением об ошибке.

from selenium import webdriver
driver = webdriver.Ie()
driver.get("google.com")

И код ошибки, который я получаю:

selenium.common.exceptions.WebDriverException: Message: Unexpected error 
launching Internet Explorer. IELaunchURL() returned HRESULT 800700C1 ('%1 is 
not a valid Win32 application.') for URL 'http://localhost:58689/'

Любые идеи? Я установил IEdriver и разместил его на своем рабочем столе вместе с файлом test.py, о котором я упоминал выше.


person Elias Yishak    schedule 08.08.2017    source источник


Ответы (1)


Здесь вы должны учитывать несколько фактов:

  1. При работе с Selenium 3.4.0 загрузки IEdriver и его размещения на рабочем столе вместе с файлом test.py может оказаться недостаточно. В идеале мы должны передавать абсолютный путь IEDriverServer.exe в нашем блоке кода, чтобы уменьшить ручную настройку и иметь возможность работать с несколькими версиями IEDriverServer.exe в соответствии с вашими требованиями следующим образом:

    driver=webdriver.Ie(r'C:\Utility\BrowserDrivers\IEDriverServer.exe')
    
  2. Ошибка, которую вы видите, точно указывает мне на несоответствие между IEDriverServer.exe версией, установленной IE Browser версией и базовой OS версией. Здесь вы либо настроили 64 bit IEDriverServer.exe для работы с 32 bit IE browser, либо 32 bit IEDriverServer.exe для работы с 64 bit IE browser. Вы можете найти обсуждение ошибки HRESULT 800700C1 ('%1 is not a valid Win32 application.') здесь и здесь.

  3. Если вы используете IE 11, вы можете настроить свою тестовую среду в соответствии с указанной спецификацией здесь.

person DebanjanB    schedule 09.08.2017