如何在flash-selenium.jar中使用FlashSelenium类设置变量?

时间:2013-07-24 11:27:58

标签: java flash webdriver

我想要实现的目标是:

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

1 个答案:

答案 0 :(得分:0)

SetVariable命令更改网站上flash存储的变量。它不需要一个webelement。如果您可以找到存储Flash上​​传位置的变量,那么您可以执行以下操作:

flashapp.SetVariable("variableName", "C:/testvid.mp4");

执行此操作后,您可以单击上传按钮。