Skip to content

Commit f99e011

Browse files
unknownunknown
authored andcommitted
Use IE driver prebuild for the package
1 parent c9684a0 commit f99e011

1 file changed

Lines changed: 14 additions & 7 deletions

File tree

update-references.py

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"""
44

55
import sys, os, time, types, re, traceback, threading, io, datetime, csv, json, urllib, requests, zipfile, tarfile
6+
from win32api import GetFileVersionInfo, LOWORD, HIWORD
67

78
__dir__ = os.path.dirname(os.path.realpath(__file__))
89

@@ -96,16 +97,14 @@ def skip_SeleniumLibraries(self):
9697
Log("Updated Selenium .Net to version " + version)
9798

9899
def update_IE32(self):
99-
page = r"http://selenium-release.storage.googleapis.com/"
100-
value, version = WebSource(page).findlastversion( \
101-
r'<Key>([\d\.]+/IEDriverServer_Win32_([\d\.]+).zip)', group_value=1, group_version=2)
102-
url = page + value
100+
url = r"https://github.com/SeleniumHQ/selenium/raw/master/cpp/prebuilt/Win32/Release/IEDriverServer.exe"
101+
version = WebSource(url).getEtag()
103102
cfg = self.cfgs.get('IEDriver')
104103
if cfg.get('version') != version or not file_exists('iedriver.exe'):
105-
with WebZip(url) as zip:
106-
zip.extract(r'IEDriverServer.exe', 'iedriver.exe')
104+
WebFile(url).save('iedriver.exe')
107105
cfg.update({'version': version, 'url': url})
108-
Log("Updated IE32 driver to version " + version)
106+
file_version = get_version_number(r'iedriver.exe')
107+
Log("Updated IE32 driver to version " + file_version)
109108

110109
def update_IE64(self):
111110
page = r"http://selenium-release.storage.googleapis.com/"
@@ -243,6 +242,14 @@ def format_ex(e_type, e_value, e_trace):
243242
lines.append(' ' + line.strip() + '\n')
244243
return '\n#%s:\n%s\n\n%s' % (e_type.__name__, str(e_value), ''.join(lines))
245244

245+
def get_version_number(filename):
246+
try:
247+
info = GetFileVersionInfo(os.path.realpath(filename), "\\")
248+
ms = info['FileVersionMS']
249+
ls = info['FileVersionLS']
250+
return '.'.join([str(v) for v in (HIWORD(ms), LOWORD(ms), HIWORD(ls), LOWORD(ls))])
251+
except:
252+
return '0.0.0.0'
246253

247254
class ConfigFile(dict):
248255

0 commit comments

Comments
 (0)