PortValhalla/scripts/Windows/Scripts/AmdSoftwarePackage.ps1

44 lines
1.3 KiB
PowerShell

#!/bin/pwsh
. "$PSScriptRoot/../../Common/Scripts/Context.ps1";
. "$PSScriptRoot/../../Common/Scripts/BrowserAutomation.ps1";
function Install-AmdSoftwarePackage() {
param(
[Context] $context,
[string] $url
)
$tempDir = $context.GetTempDirectory();
$cookieBannerSelector = "#onetrust-consent-sdk";
$osSelector = ".os-group:first-of-type";
$summarySelector = "$osSelector summary:first-of-type";
$downloadSelector = "$osSelector .driver:first-of-type a:first-of-type";
$action = {
param([OpenQA.Selenium.Firefox.FirefoxDriver] $browser)
$summary = $browser.FindElement([OpenQA.Selenium.By]::CssSelector($summarySelector));
if (-not ([bool]$summary.GetAttribute("aria-expanded"))) {
$summary.Click();
}
$downloader = {
param()
$browser.FindElement([OpenQA.Selenium.By]::CssSelector($downloadSelector)).Click();
}
try {
$downloader.Invoke();
} catch {
$browser.ExecuteScript("document.querySelector('$cookieBannerSelector').remove()");
$downloader.Invoke();
}
}
$file = Start-CustomBrowserDownload $context $url $action $tempDir;
Start-Process -Wait -FilePath $file -ArgumentList "/S";
Remove-Item -Recurse $tempDir;
}