我想要实现的目标是:
public class UploadVideo {
FlashSelenium flashapp = new FlashSelenium(null, null);
...
...
public void upload (){
flashapp.SetVariable(driver.findElement(By.id("flashInputButton")), "C:/testvid.mp4");
}
}
但这会在.SetVariable上给出错误,即
FlashSelenium类型中的方法SetVariable(String,String)是 不适用于参数(WebElement,String)
为什么我这样做是因为普通的.sendKeys()方法不能使用此元素。所以我想借助flash(flex)
来做这件事请让我知道我做错了什么,我该如何纠正?
请在这里查看图片和HTML代码。我在这里附上图片,绿色图片。
https://stackoverflow.com/questions/17588703/error-in-browsing-file-via-webdriver
我试图使用以下方法使无形元素可见:
WebElement upload = driver.findElement(By.id("html5InputFile"));
((JavascriptExecutor) driver)
.executeScript(
"arguments[0].style.visibility = 'visible';",
upload);
upload.sendKeys("C:\\IE10test.mp4");
运行此操作时,表示"元素不可见或可能无法与"进行交互。 execption
答案 0 :(得分:0)
SetVariable命令更改网站上flash存储的变量。它不需要一个webelement。如果您可以找到存储Flash上传位置的变量,那么您可以执行以下操作:
flashapp.SetVariable("variableName", "C:/testvid.mp4");
执行此操作后,您可以单击上传按钮。