有关如何在IE中上传文件的任何想法? 这不是我第一次遇到这样的问题,但我总是通过将隐藏的输入txt设置为可见
来解决它JavascriptExecutor jse = (JavascriptExecutor) SelTestCase.driver;
WebElement element=SelTestCase.driver.findElement(By.xpath("//input[@type='file']"));
String js = "arguments[0].style.visibility = 'visible';"
但是这次我没有在输入中看到任何隐藏的风格,所以真的要知道如何做到这一点。 Firefox和Chrome工作正常,我只是发送路径,但IE警告元素不可见
有什么想法吗?
<div class="btn btn-primary ib-fileupload">
<span>Upload File</span>
<input id="channel-image-upload" class="upload pristine" type="file" accept=".jpg,.jpeg,.gif,.png"/>
</div>
答案 0 :(得分:0)
尝试直接设置属性并单击上传(或触发该操作的任何内容)。并且,请确保您只尝试以下某种文件类型,因为这是所有允许的
.JPG,.JPEG,.GIF .PNG
String filePath = "the filepath with extension";
((JavascriptExecutor)driver).executeScript("document.getElementById('channel-image-upload').setAttribute('value', '"+filePath+"');");
driver.findElement(By.id("id of the button that uploads the file")).click();
答案 1 :(得分:0)
有时输入也可能超出页面范围。您可以设置样式属性,然后正常输入输入。
JavascriptExecutor jse = (JavascriptExecutor) SelTestCase.driver;
WebElement element=SelTestCase.driver.findElement(By.xpath("//input[@type='file']"));
//set the style
String js = "arguments[0].setAttribute('style','position: absolute; opacity: 0;');"