Selenium:输入类型的上传文件= - 'button'

时间:2015-02-12 21:32:53

标签: selenium-webdriver

我正在尝试将文件上传到文件上传按钮。

输入元素的类型为“按钮”而非“文件”。 HTML:

<input class="btn jsSelectFile" type="button" value="Select file"/>

因此,使用SendKeys()时,文件上传不起作用。 我打电话给下面的片段:

Browser.FindElement(By.XPath(XPath)).SendKeys(path);

它只是调出浏览器文件窗口而不选择文件。

有谁知道如何为上述输入类型上传文件?感谢。

1 个答案:

答案 0 :(得分:0)

你有2个选择。

  1. 使用模拟键盘操作的机器人类,例如

    driver.findElement(By.id(&#34; SWFUpload_0&#34))。单击(); 机器人r =新机器人(); r.keyPress(KeyEvent.VK_C); // C r.keyRelease(KeyEvent.VK_C); r.keyPress(KeyEvent.VK_COLON); // :(冒号) r.keyRelease(KeyEvent.VK_COLON); r.keyPress(KeyEvent.VK_SLASH); // /(斜杠) r.keyRelease(KeyEvent.VK_SLASH); //等等,用于整个文件路径

    r.keyPress(KeyEvent.VK_ENTER); //按Enter键确认 r.keyRelease(KeyEvent.VK_ENTER);

    1. 在输入按钮上添加一个类型=&#34;文件&#34; W的输入字段,只需将可选性设置为0%,这样元素就不会显示给用户,他们认为他们正在选择按钮。然后,您将能够发送文件位置。有关此
    2. 的示例,请参阅http://www.zamzar.com/