2015-07-15 1 views
2

У меня есть сценарий C# Selenium WebDriver, который использует AutoItX3Lib, чтобы попытаться выполнить загрузку файла excel.Невозможно выбрать ALT + s в C# Selenium Web Driver с AutoIt Automation Script

Сценарий работает до того момента, когда он нажмет на ссылку, чтобы начать загрузку.

Соответствующий раздел сценария скопирован ниже:

// 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 ("{ALTDOWN} s {ALTUP}");), который должен отправить ALT + s в окне загрузки файлов Firefox, сценарий останавливается. Однако вместо отправки ключей в диалоговое окно загрузки файлов Firefox он отправляет ключи в Visual Studio (который является IDE, который я использую для создания и выполнения скрипта).

Заранее спасибо

ответ

0

Есть два варианта, которые я могу предложить:

  1. Создать и выполнить .exe файл AutoIt сценария, прежде чем нажать на загрузку. Вы можете получить более подробную информацию here.

  2. Если вы заинтересованы только в Firefox, то лучше настроить & использовать Firefox профиль, файл автоматической загрузки в нужное место. Вы можете обратиться к this link, чтобы получить подробную информацию о настройках профиля Firefox, которые необходимо установить.

0

Попробуйте следующее:

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

Я думаю, что проблема может быть с не дожидаясь, пока не появится диалоговое окно загрузки файла.

Смежные вопросы