无法在带有AutoIt自动化脚本的c# Selenium Web Driver中选择ALT + s

本文关键字:Driver Web Selenium 选择 ALT AutoIt 脚本 自动化 | 更新日期: 2023-09-27 18:02:55

我有一个c# Selenium WebDriver脚本,它使用AutoItX3Lib来尝试执行excel文件的下载。

脚本运行到点击链接开始下载为止。

脚本的相关部分复制如下:

// Wait until "Contacts.xls" link displays
            WebDriverWait wait4 = new WebDriverWait(driver, TimeSpan.FromSeconds(300));
            wait4.Until(ExpectedConditions.ElementIsVisible(By.LinkText("contacts.xls")));
// Click "Contacts.xls"
driver.FindElement(By.LinkText("contacts.xls")).Click();
// Perform file download and saving using AutoIt
autoit.WinActivate("Opening contacts.xls","");
autoit.Send("{ALTDOWN}s{ALTUP}");
autoit.Sleep(3000);
autoit.Send("{ENTER}");

问题是,在第一个发送命令(autoit.Send("{aldown}s{ALTUP}");),它应该发送ALT + s键到Firefox文件下载对话框窗口,脚本停止。但是,它没有将密钥发送到Firefox文件下载对话框窗口,而是将密钥发送到Visual Studio(这是我用来创建和执行脚本的IDE)。

Thanks in Advance

无法在带有AutoIt自动化脚本的c# Selenium Web Driver中选择ALT + s

我有两个建议:

  1. 在点击下载之前创建并执行AutoIt脚本的。exe文件。

  2. 如果你只对Firefox感兴趣,那么最好配置&使用Firefox配置文件自动下载文件到所需的位置。您可以参考此链接获取需要设置的Firefox配置文件首选项的详细信息。

尝试如下:

// Click "Contacts.xls"
driver.FindElement(By.LinkText("contacts.xls")).Click();
Thread.Sleep(2000)

我认为问题可能在于等待文件下载对话框窗口出现