administration, development, powershell, security, webserver,

Install Selenium

agowa338 agowa338 Dec 19, 2018 · 4 mins read
Share this

Install Selenium:

 function Install-PSArchive {
  param() $null = Install-PackageProvider -Name PowerShellGet -Force -Scope
  CurrentUser Install-Module -Name 'Microsoft.PowerShell.Archive' -Force
  -Repository PSGallery -Scope CurrentUser -WarningAction SilentlyContinue }
  function Install-Selenium { param($ChromeSeleniumVersion = '2.45')
  Invoke-WebRequest -Uri
  'https://www.nuget.org/api/v2/package/Selenium.WebDriver/' -UseBasicParsing
  -OutFile './selenium.webDriver.nupkg.zip' Expand-Archive -Path
  ./selenium.webDriver.nupkg.zip -Force $null = New-Item -Name
  './lib/selenium.webDriver' -ItemType Directory -Force Copy-Item -Path
  ./selenium.webDriver.nupkg/lib/netstandard2.0/WebDriver.dll -Destination
  ./lib/selenium.webDriver -Force Copy-Item -Path
  ./selenium.webDriver.nupkg/lib/netstandard2.0/WebDriver.xml -Destination
  ./lib/selenium.webDriver -Force Remove-Item -Recurse -Force -Path
  './selenium.webDriver.nupkg' Remove-Item -Recurse -Force -Path
  './selenium.webDriver.nupkg.zip' $ChromeSeleniumURLLinux =
  'https://chromedriver.storage.googleapis.com/{0}/chromedriver_linux64.zip' -f
  $ChromeSeleniumVersion $ChromeSeleniumURLMacOS =
  'https://chromedriver.storage.googleapis.com/{0}/chromedriver_mac64.zip' -f
  $ChromeSeleniumVersion $ChromeSeleniumURLWindows =
  'https://chromedriver.storage.googleapis.com/{0}/chromedriver_win32.zip' -f
  $ChromeSeleniumVersion If ($IsWindows) { Invoke-WebRequest -Uri
  $ChromeSeleniumURLWindows -OutFile 'chromedriver.zip' } elseif ($IsLinux) {
  Invoke-WebRequest -Uri $ChromeSeleniumURLLinux -OutFile 'chromedriver.zip' }
  elseif ($IsMacOS) { Invoke-WebRequest -Uri $ChromeSeleniumURLMacOS -OutFile
  'chromedriver.zip' } else { Write-Error -Message 'Platform not supported.' }
  $null = New-Item -Name './bin/selenium.chromedriver' -Force -ItemType
  Directory Expand-Archive -Path 'chromedriver.zip' -Force -DestinationPath
  ./bin/selenium.chromedriver Remove-Item -Recurse -Force -Path
  './chromedriver.zip' If ($IsLinux -or $IsMacOS) { chmod a+x
  ./bin/selenium.chromedriver/chromedriver } } function Install-HtmlAgilityPack
  { param() Invoke-WebRequest -Uri
  'https://www.nuget.org/api/v2/package/HtmlAgilityPack/' -OutFile
  ./HtmlAgilityPack.zip Expand-Archive -Path './HtmlAgilityPack.zip' -Force
  $null = New-Item -Name './lib/HtmlAgilityPack' -ItemType Directory -Force
  Copy-Item -Path ./HtmlAgilityPack/lib/netstandard2.0/HtmlAgilityPack.dll
  -Destination ./lib/HtmlAgilityPack -Force Copy-Item -Path
  ./HtmlAgilityPack/lib/netstandard2.0/HtmlAgilityPack.xml -Destination
  ./lib/HtmlAgilityPack -Force Remove-Item -Force -Recurse -Path
  './HtmlAgilityPack' Remove-Item -Force -Recurse -Path './HtmlAgilityPack.zip'
  } Install-PSArchive Import-Module -Name 'Microsoft.PowerShell.Archive'
  Install-Selenium Import-Module './lib/selenium.webDriver/WebDrive' ## If you
  need to parse some html inside of your scripts and want to have cross platform
  functionality (or if internet explorer is not enabled), you also need to
  install HtmlAgilityPack, as powershell on windows relies upon it for parsing
  html into objects. Install-HtmlAgilityPack Import-Module
  './lib/HtmlAgilityPack/HtmlAgilityPack.dll' 

agowa338
Written by agowa338