-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path_update-chromedriver.ps1
34 lines (24 loc) · 1.48 KB
/
_update-chromedriver.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# find the latest chromedriver version by scraping the link on the chromedriver webpage
# get the latest chromedriver version number from the end of the url
# e.g. 2.37 from -> https://chromedriver.storage.googleapis.com/index.html?path=2.37/
# ------------------------------------------------------------------------------------
$res = Invoke-WebRequest "https://sites.google.com/a/chromium.org/chromedriver/downloads" -UseBasicParsing
$url = ($res.Links | Where-Object -property href -match "^https://chromedriver.storage.googleapis.com/index.html\?path=" | select -property href)[0].href
$seperator = @("?path=")
# hard coding version for now because chrome is ver 73 and website says ver 74! mmm, that just happened.
# $ver = $url.Split($seperator, [System.StringSplitOptions]::RemoveEmptyEntries)[1]
$ver = "73.0.3683.68/"
$file = "https://chromedriver.storage.googleapis.com/" + $ver + "chromedriver_win32.zip"
write-host "downloading $file"
$dir = "Draki.SeleniumWebDriver\3rdPartyLib"
$zip = "$dir\chromedriver_win32.zip"
$zipFolder = $dir + "\chromedriver"
Invoke-WebRequest $file -OutFile $zip
Expand-Archive $zip -DestinationPath $zipFolder
Copy-Item ".\$zipfolder\chromedriver.exe" "$dir\chromedriver.exe"
Remove-Item $zip
remove-item $zipFolder -Recurse
write-host "done."
write-host "--------------------"
write-host "Remember to update your path to include the chromedriver location."
write-host "see https://sites.google.com/a/chromium.org/chromedriver/getting-started"