IE11 не может нажать кнопку браузера файлов через селен

Сценарий: в моем приложении есть кнопка просмотра файлов. При нажатии на этот браузер открывается окно выбора файла. Оттуда мы выбираем нужный файл и нажимаем загрузить.

Проблема. Когда мы делаем это в Firefox и Chrome, проблем не возникает. Но когда мы делаем это через IE11, в этот раз скрипт нажимает кнопку браузера файлов, но окно выбора файла не появляется. Я проверил то же самое вручную в IE11, в этот раз проблем не возникло. Но открытый скрипт не отвечает на эту конкретную кнопку. Например, через скрипт я запустил IE и приостановил скрипт. Если я сейчас попытаюсь щелкнуть параметр браузера файлов вручную в том же браузере, он не отобразит диалоговое окно выбора файла. Но в то же время, если я открою новый браузер вручную и попытаюсь щелкнуть эту опцию браузера вручную, это сработает.

Веб-код:

Появляется объект <iframe>. Внутри этого iframe загружается вся html-страница, и в каком-то nested <div> контейнере эта опция файлового браузера находится в <input id="UploadFile" class=*** type=*** ..> аналогично.

Код Selenium:

WebElement ImportDef = driver.findElement(By.id("UploadFile"));
Thread.sleep(3000);
ImportDef.click();

person RCode    schedule 24.08.2016    source источник
comment
вместо .click() вы можете указать путь к файлу, используя sendKeys() как ImportDef.sendKeys("file/to/upload")..   -  person Saurabh Gaur    schedule 24.08.2016
comment
Этот щелчок предназначен для нажатия кнопки просмотра файлов на веб-странице. Если диалоговое окно выбора файла не появляется, как я могу загрузить/установить путь к файлу?? Моя проблема не в загрузке файла. Моя проблема в том, что диалоговое окно выбора файла не появляется на активном экране при выполнении в IE11.   -  person RCode    schedule 24.08.2016
comment
Посмотрите здесь stackoverflow.com /вопросы/5610256/   -  person Saurabh Gaur    schedule 24.08.2016
comment
Вы не должны обрабатывать кнопку загрузки, а вместо этого поле ввода   -  person Andersson    schedule 24.08.2016
comment
@SaurabhGaur: я видел ссылку выше. Они вроде похожи, но нет. Во-первых: в этой проблеме он не работал ни в Firefox, ни в IE11, у меня он не работал только в IE. Во-вторых: в этой проблеме после нажатия кнопки обзора окно выбора по крайней мере открывалось, для меня это не так. И все же я хотел бы попробовать этот. Посмотрим   -  person RCode    schedule 24.08.2016
comment
Хорошо, значит, ваша проблема в том, почему окно загрузки не открывается. Верно??   -  person Saurabh Gaur    schedule 24.08.2016
comment
@SaurabhGaur: Да, вы правы. Это также для IE11   -  person RCode    schedule 24.08.2016
comment
Итак, когда вы собираетесь щелкнуть, есть какие-либо исключения??   -  person Saurabh Gaur    schedule 24.08.2016
comment
@Andersson: такого поля ввода нет. Когда я нажимаю на опцию браузера, он напрямую открывает окно выбора файла. Это сценарий.   -  person RCode    schedule 24.08.2016
comment
@SaurabhGaur: Нет. Такого исключения нет. Потому что на самом деле скрипт ждет, пока не появится окно выбора файла. После определенного времени ожидания он получает тайм-аут.   -  person RCode    schedule 24.08.2016
comment
Не могли бы вы поделиться URL вашего сайта ??   -  person Saurabh Gaur    schedule 24.08.2016
comment
Извините, я не могу этого сделать. Поскольку это контент с авторскими правами, для доступа вам потребуются учетные данные. Кроме того, я не уполномочен делиться каким-либо внутренним кодом. Я знаю, что поделиться кодом было бы проще для всех вас, но это невозможно.   -  person RCode    schedule 24.08.2016
comment
@RoyCode, <input id="UploadFile" class=*** type=*** ..> это целевое поле ввода. Вы должны отправить локальный путь к файлу в виде строки в этот элемент ввода   -  person Andersson    schedule 24.08.2016
comment
@Andersson: понял вашу точку зрения. Позвольте мне попробовать и поделиться результатом   -  person RCode    schedule 29.08.2016