#!/bin/bash . "$PSScriptRoot/Context.ps1"; if (-not ("OpenQA.Selenium.Firefox.FirefoxDriver" -as [type])) { $zipFile = [System.IO.Compression.ZipFile]::OpenRead((Get-Package Selenium.WebDriver).Source); $stream = [System.IO.MemoryStream]::new(); $reader = [System.IO.StreamReader]($zipFile.Entries[2]).Open(); $reader.BaseStream.CopyTo($stream); [byte[]]$bytes = $stream.ToArray(); $reader.Close(); $zipFile.Dispose(); [System.Reflection.Assembly]::Load($bytes); } function Start-AutomatedDownload() { param( [Context] $context, [string] $url, [string] $buttonSelector ) $tempDir = $context.GetTempDirectory(); $options = [OpenQA.Selenium.Firefox.FirefoxOptions]::new(); $options.SetPreference("browser.download.folderList", 2); $options.SetPreference("browser.download.dir", $tempDir); # $options.AddArgument("--headless"); $browser = [OpenQA.Selenium.Firefox.FirefoxDriver]::new($options); $browser.Navigate().GoToUrl($url); $browser.FindElement([OpenQA.Selenium.By]::CssSelector("$buttonSelector")).Click(); }