0

我想要实现的是:

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");

在运行这给出“元素不可见或可能无法与之交互”执行

4

1 回答 1

0

SetVariable 命令更改网站上闪存存储的变量。它不需要网络元素。如果您可以找到存储 flash 上传来源的变量,那么您可以执行以下操作:

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

完成后,您可以单击上传按钮。

于 2013-07-24T13:42:25.453 回答