使用Selenium WebDriver

时间:2015-05-11 09:53:55

标签: javascript selenium selenium-webdriver asyncfileupload radupload

我正在尝试使用Selenium在页面上的Telerik RadAsyncUpload控件上自动上传文件。我的环境是: MAC,chrome + FireFox
我无法弄清楚如何从RadAsyncUpload控件中打开文件选择对话框。控件如下所示:
enter image description here

控件具有以下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点击控件内的文件输入,但这也不起作用。

任何人都可以建议我是否遗漏某些东西/任何其他解决方案以触发文件选择对话框?

0 个答案:

没有答案