Try waiting for file download
This commit is contained in:
parent
383d2467f7
commit
164430e9b4
1 changed files with 25 additions and 0 deletions
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue