Я пытаюсь автоматизировать загрузку файлов в элементе управления Telerik RadAsyncUpload на странице с помощью Selenium. Моя среда: MAC, chrome+FireFox
Мне не удалось выяснить, как открыть диалоговое окно выбора файла из элемента управления RadAsyncUpload. Элемент управления выглядит следующим образом:
Элемент управления имеет следующую HTML-структуру:
<div id="ctl00_cphBody_wzAddItem_rptItems_ctl00_rdauImage" class="RadAsyncUpload RadUpload RadUpload_Default" style="width:240px;">
<input id="ctl00_cphBody_wzAddItem_rptItems_ctl00_rdauImage_ClientState" name="ctl00_cphBody_wzAddItem_rptItems_ctl00_rdauImage_ClientState" type="hidden" autocomplete="off">
<ul class="ruInputs" id="ctl00_cphBody_wzAddItem_rptItems_ctl00_rdauImageListContainer">
<li id="ctl00_cphBody_wzAddItem_rptItems_ctl00_rdauImagerow0"><span class="ruFileWrap ruStyled">
<input type="text" tabindex="-1" class="ruFakeInput radPreventDecorate" id="ctl00_cphBody_wzAddItem_rptItems_ctl00_rdauImagefakeInput0" size="22">
<label for="ctl00_cphBody_wzAddItem_rptItems_ctl00_rdauImagefakeInput0" style="display:none">label</label>
<input type="button" tabindex="-1" value="Upload screenshot/document" class="ruButton ruBrowse">
<input type="file" tabindex="0" class="ruFileInput" name="ctl00_cphBody_wzAddItem_rptItems_ctl00_rdauImagefile0" id="ctl00_cphBody_wzAddItem_rptItems_ctl00_rdauImagefile0" size="23">
<label for="ctl00_cphBody_wzAddItem_rptItems_ctl00_rdauImagefile0" style="display:none">label</label></span><div class="ruDropZone"><span>Drop files here</span></div></li></ul></div>
Чтобы открыть диалоговое окно загрузки файла, я попытался выполнить следующее:
driver.findElement(By.id("ctl00_cphBody_wzAddItem_rptItems_ctl00_rdauImagefile0")).click();
также
driver.findElement(By.id("ctl00_cphBody_wzAddItem_rptItems_ctl00_rdauImage")).click(); //Added event listener breakpoint on Mouse->Click and saw the parent <div> being highlighted.
Ни один из этих параметров не открывал диалоговое окно загрузки файла. Я попытался щелкнуть ввод файла внутри элемента управления с помощью javascript, но это тоже не сработало.
Может ли кто-нибудь предложить, если я что-то упустил / любое другое решение для запуска диалогового окна выбора файла?
By.partialLinkText("Upload")
? - person LittlePanda   schedule 11.05.2015Telerik RadAsyncUpload
звучит как элемент управления Silverlight, и я не уверен, что Selenium способен с этим справиться. Вы можете попробовать увидеть этот ответ - stackoverflow.com/a/9225013/4720017 - person LittlePanda   schedule 11.05.2015