Explorer 8/9 не стартует через Selenium WebDriver


(Anna Stepanova) #1

Добрый день,

Пытаюсь настроить Selenium Webdriver на двух машинах: с Win 7, IE9 и на Win XP, IE8.
Python скачала, packages заинсталила, selenium заинсталила. IEWebDriver лежит в папке прописанной в %PATH%.

При попытке выполнить:

from selenium import webdriver
webdriver.Ie()

на обоих окружениях получаю error:

Traceback (most recent call last):
  File "<pyshell#28>", line 1, in <module>
    webdriver.Ie()
  File "C:\Python27\lib\site-packages\selenium\webdriver\ie\webdriver.py", line 46, in __init__
    self.iedriver.start()
  File "C:\Python27\lib\site-packages\selenium\webdriver\ie\service.py", line 79, in start
    raise WebDriverException("Can not connect to the IEDriver")
WebDriverException: Message: 'Can not connect to the IEDriver'*

если включить Bypass proxy server for local addresses в настройках IE, то exception:

Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    webdriver.Ie()
  File "C:\Python27\lib\site-packages\selenium\webdriver\ie\webdriver.py", line 54, in __init__
    desired_capabilities=capabilities)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 72, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 114, in start_session
    'desiredCapabilities': desired_capabilities,
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 165, in execute
    self.error_handler.check_response(response)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 136, in check_response
    raise exception_class(value)
WebDriverException: Message: 

ERROR: The requested URL could not be retrieved

The requested URL could not be retrieved

While trying to retrieve the URL: http://127.0.0.1:3753/session

The following error was encountered

Connection to 127.0.0.1 Failed

The system returned:(111) Connection refused

The remote host or network may be down.  Please try the request again.

Your cache administrator is webmaster

Generated Thu, 29 Aug 2013 16:58:39 GMT by xxproxycl02.xxx.org (squid/2.6.STABLE17)

сам IEDriver запускается нормально:

C:\Python27>IEDriverServer.exe
Started InternetExplorerDriver server (64-bit)
2.35.2.0
Listening on port 5555**

есть подозрения, что это из-за прокси, т.к. работает нормально на виртуалке (Win XP, IE7 and 8).
может кто-то сталкивался с подобной проблемой?


(rmerkushin) #2

Вручную сайт открывается? Включена в настройках прокси “Automaticaly detect settings”?

Если да, то попробуй отключить. Вобще не знаю как в IE, но Firefox для того чтобы использовал прокси да и вообще какие то предустановки нужно подключать профиль.

Еще как вариант попробовать заменить 127.0.0.1 на реальный ip адрес этой машины, и его уже прописать в настройках прокси.


(Anna Stepanova) #3

Automatically detect settings опция выключена.
Проблема не в том, что сайт не открывается, a в том, что Webdriver не стартует explorer.
Спасибо!


(Mykhailo Poliarush) #4

Попробуйте с запуском IEDriver 32 bit. С 64 битной версией часто возникают всякого рода проблемы.


(Anna Stepanova) #5

на другой машине с XP использую 32bit. поведение то же :frowning:


(Mykhailo Poliarush) #6

попробуйте запуск через RemoteWebdriver вариант #4

Разные варианты запуска:

#1

from selenium.webdriver import Ie
driver = Ie(executable_path="c:\\temp\\IEDriverServer.exe")
# do stuff
driver.quit()

#2

from selenium.webdriver import Ie
import sys
sys.path.append('c:\temp')
driver = Ie()
# do stuff
driver.quit()
del sys.path[-1]

#3

from selenium.webdriver import Ie
import os
os.environ['webdriver.ie.driver'] = "c:\temp\IEDriverServer.exe"
driver = Ie()
# do stuff
driver.quit()

#4

java -jar selenium-server-standalone-x.xx.x.jar -Dwebdriver.ie.driver=c:\temp\IEDriverServer.exe

(Mykhailo Poliarush) #7

кстати а у вас права администратора?


(Anna Stepanova) #8

перепробовала все 4 опции - тот же результат,
хотя особые надежды были на #4 :smile:
IEwebdriver через RC стартовал нормально. я смогла на него зайти. http://127.0.0.1:4444/wd/hub и создать руками сессию. но при попытке приконнектится удаленно

driver = webdriver.Remote("http://127.0.0.1:4444/wd/hub", webdriver.DesiredCapabilities.INTERNETEXPLORER)

та же ошибка - Connection to 127.0.0.1 Failed

P.S. да, я админ.

P.P:S. Классный новый интерфейс у automated-testing.info :sunny:


(Mykhailo Poliarush) #9

ну тогда еще у меня будут следующие догадки:

  1. Действует фаервол, который блокирует порты
  2. Действует какой-то антивирус, который блокирует порты
  3. Есть какое-то приложение на этом порту
  4. Настройки интернета

Немного погуглил и нашел вот эту ссылку http://scn.sap.com/thread/3270212.

Спасибо старались угодить, если что пожелания можно оставлять сюда Обновление портала automated-testing.info


(Anna Stepanova) #10

Задача таки решилась с помощью Remote, реального ip компа и таких действий:

  1. Прописала реальный сетевой ip компа в Tools -> Internet Options -> Connections -> LAN settings -> Advanced -> ‘Do not use proxy server for addresses beginning with:’
  2. Застартовала webdriver java –jar selenium-server-standalone-2.xx.x.jar
  3. Приконнектилась к webdriver удаленно

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
remote=webdriver.Remote(“http://10.192.xx.xx:4444/wd/hub”, DesiredCapabilities.INTERNETEXPLORER)

Спасибо всем за помощь!