File upload 如何使用webdriver自动执行引导文件上载控制
我想自动化文件上传过程,这是使用一个文件上传控制内置引导。 我使用webdriver也在做同样的事情。 下面是我的代码,但不幸的是它不起作用:File upload 如何使用webdriver自动执行引导文件上载控制,file-upload,webdriver,File Upload,Webdriver,我想自动化文件上传过程,这是使用一个文件上传控制内置引导。 我使用webdriver也在做同样的事情。 下面是我的代码,但不幸的是它不起作用: element=driver.findElement(By.xpath("//[@id='upload']/fieldset/div[2]/input[1]")); element.sendKeys(pathToFile); 它给出了一个元素不可见错误 下面是我正在尝试自动化的引导文件上载控件的示例- 通过JavaScript: 在这个URL上 请看下
element=driver.findElement(By.xpath("//[@id='upload']/fieldset/div[2]/input[1]"));
element.sendKeys(pathToFile);
它给出了一个元素不可见
错误
下面是我正在尝试自动化的引导文件上载控件的示例-
通过JavaScript:
在这个URL上
请看下面的样式-
$(":file").filestyle({icon: false});
嗯。我想我解决了
WebElement fileInput = driver.findElement(By.id("document"));
JavascriptExecutor js = (JavascriptExecutor) driver;
WebElement element = driver.findElement(By.id("document"));
js.executeScript("arguments[0].setAttribute('style', 'left:30px')",
element);
fileInput.sendKeys(fileName);
bootstrap-filestyle.js隐藏了一个输入元素,因此您必须将其移动到可见区域,然后以标准方式进行设置
这么简单的解决方案太麻烦了
以下是我的原始html代码:
<span id="documentUpload">
<input type="file" id="document" name="document" class="notMandatory" onkeypress="return noenter(event)" tabindex="-1" style="position: absolute; left: -9999px;">
<div class="bootstrap-filestyle" style="display: inline;" tabindex="0">
<input type="text" class="input-xlarge" disabled="" autocomplete="off">
<label for="document" class="btn"><i class="icon-folder-open"></i> <span>Upload</span></label>
</div>
</span>
上传
你能用JavascriptExecutor试试吗???并尝试将值设置为类路径..或者如果没有帮助,您也可以设置ClipboardText并使用Robot类执行ctrl v。。。