Установил Python 2.7 и Selenium WebDriver 2.4 на Windows7
Написал тест. Отладил. Запустил.
Открывается IE8, выполняется тест. Все отлично.
Сделал все те же действия на виртуальной машине. Тот же питон, селениум, тест перенес готовый.
Но уже на запуске драйвера
driver = webdriver.Ie()
эксплорер не запустился. :(
В результате разбирательств с кодом выяснил, что на виртуалке и на реальной винде код выполняется по-разному.
объяснение этому я найти не могу
но к моменту передачи запроса в коде httplib.py
def _send_request(self, method, url, body, headers):
# Honor explicitly requested Host: and Accept-Encoding: headers.
header_names = dict.fromkeys([k.lower() for k in headers])
skips = {}
if 'host' in header_names:
skips['skip_host'] = 1
if 'accept-encoding' in header_names:
skips['skip_accept_encoding'] = 1
self.putrequest(method, url, **skips)
if body and ('content-length' not in header_names):
self._set_content_length(body)
for hdr, value in headers.iteritems():
self.putheader(hdr, value) ------------------------ вот здесь добавляются параметры в переменную self._buffer
self.endheaders(body) ------------------------- вот здесь в дальнейшем используется self._bufferself._buffer после наполнения выглядит так на виртуалке
str: POST http://127.0.0.1:49521/session HTTP/1.1 Accept-Encoding: identity Content-Length: 145 Host: 127.0.0.1:49521 Accept: application/json User-Agent: Python-urllib/2.7 Connection: close Co...
И вот так он выглядит на моей машине
POST /session HTTP/1.1
Accept-Encoding: identity
Content-Length: 145
Host: 127.0.0.1:3872
Accept: application/json
User-Agent: Python-urllib/2.7
Connection: close
Content-Type: application/x-www-form-urlencoded
{"sessionId": null, "desiredCapabilities": {"platform": "WINDOWS", "browserName": "internet explorer", "version": "", "javascriptEnabled": true}}Мне кажется что суть проблемы в этом…
Но вот почему он по-разному заполняет буфер я не понимаю. Потому что до последнего момента используется строка Content-Type: application/x-www-form-urlencoded, но никак не Co…
Может кто-то сталкивался с такой проблемой или с похожей?

