2016-06-06 2 views
1

у меня этот вопрос:Загрузка файлов с Selenium WebDriver 2.53.0 в IE11

OpenQA.Selenium.ElementNotVisibleException: Элемент не отображается.

с загрузкой файлов с помощью Selenium в IE11 + WebDriver 2.53.0. Firefox работает с этим кодом правильно!

Я пробовал такие вещи, как threadleep и ждать, но ничего не помогает. Я также попробовал вещь, как щелчок на элементе (button), а затем sendkeys, но он также не работает.

вот мой HTML:

<div class="input-group col-sm-12"> 
    <div class="input-group-btn" data-bind="unblocked: CanUploadApplicationDocuments"> 
    <div class="btn btn-default btn-file">Browse 
     <input type="file" id="ApplicationDocumentsUpload" data-bind="event: { change: ApplicationFilesUploaded }" name="ApplicationDocumentsUpload" multiple="multiple"/> 
    </div> 
    </div> 
    <input type="text" class="form-control" id="ApplicationDocumentsUploadText" readonly> 
</div> 

вот мой Селен:

var dataCvPath = ResourceProvider.Provide(@"\Resources\CV\dataCV.docx"); 
var upload = driver.FindElement(By.Name("ApplicationDocumentsUpload")); 
upload.SendKeys(dataCvPath); 

Спасибо за помощь

+0

Вы можете нажать на кнопку, используя IE. См. [Вопрос] (http://stackoverflow.com/questions/35722790/ie-11-clicks-on-a-button-and-waits-until-time-out-selenium-webdriver), может быть полезно. Это мой вопрос о всплытии в IE11. Если это вам не поможет, сообщите мне. Надеюсь, я кое-что могу вам помочь. – Sudeepthi

ответ

0

Убедитесь, что вы предоставляете полный путь к SendKeys:

string dataCvPath = Path.GetFullPath(ResourceProvider.Provide(@"\Resources\CV\dataCV.docx")); 
if (!File.Exists(dataCvPath)) 
    throw new Exception("File not found: " + dataCvPath); 

var upload = driver.FindElement(By.Name("ApplicationDocumentsUpload")); 
upload.SendKeys(dataCvPath); 

Обратите внимание, что если вы работаете с удаленным сеансом, вам также необходимо установить детектор файлов:

driver.FileDetector = new LocalFileDetector(); 
Смежные вопросы