【发布时间】:2014-03-24 15:10:20
【问题描述】:
我有这个 HTML 代码。
`<div> <i class="icon-plus icon-white"></i>
<span>
<input type="file" multiple="multiple" name="uploadFile" value="Attach2" id="1309261001000145" style="visibility:hidden;position:absolute;top:0;left:0"> <input type="button" onclick="fireFileButton('1309261001000145')" value="Attach" name="input" class="btn_grn btn_sm">
</span>
</div>`
该 div 位于一个普通的嵌套 div 中。第二个是显示的“附加文件”,一旦点击,“fireFileButton”功能将点击第一个表单(隐藏在左上角0,0位置)。然后会出现一个弹出窗口,类型为“文件”以选择要上传的文件和要上传的 ajax。
我将使用 Selenium2 来模拟文件上传过程。 我使用以下代码:
WebElement attach = (new WebDriverWait(driver, 15)).until(ExpectedConditions.presenceOfElementLocated(By.cssSelector("//input[name^='input']")));
attach.click();
WebElement upload = (new WebDriverWait(driver, 15)).until(ExpectedConditions.presenceOfElementLocated(By.id("1309261001000145")));
upload.sendKeys("C:\\Users\\Public\\Pictures\\Sample Pictures\\Desert.jpg");
我也尝试在第一个元素上直接使用 sendKeys 函数。但是对于 first 和 second 都有 NO SUCH ELEMENT 的错误。我使用了 By.id,name,cssSelector,xpath 但无济于事。
可以使用 javascript 选择元素。
非常感谢任何建议。
【问题讨论】: