Try waiting for file download

This commit is contained in:
Manuel Thalmann 2023-07-15 19:33:12 +02:00
parent 383d2467f7
commit 164430e9b4

View file

@ -24,7 +24,32 @@ function Start-AutomatedDownload() {
$options.SetPreference("browser.download.folderList", 2);
$options.SetPreference("browser.download.dir", $tempDir);
# $options.AddArgument("--headless");
$downloadChecker = {
param()
foreach ($file in Get-ChildItem $tempDir) {
try {
$stream = [System.IO.File]::Open($file.FullName, [System.IO.FileMode]::Open, [System.IO.FileAccess]::ReadWrite, [System.IO.FileShare]::None);
if ($stream) {
$stream.Close();
}
return $false;
}
catch {
return $true;
}
}
}
$browser = [OpenQA.Selenium.Firefox.FirefoxDriver]::new($options);
$browser.Navigate().GoToUrl($url);
$browser.FindElement([OpenQA.Selenium.By]::CssSelector("$buttonSelector")).Click();
while ($downloadChecker.Invoke()) {
Write-Information "Waiting for download to finish...";
Start-Sleep 1;
}
}