我的C#webdriver自动化脚本尝试使用Browse按钮(它是Silverlight对象)上载文件。请让我知道如何使用webdriver上传文件。C#Webdriver - 上传文件(Silverlight)
以下代码适用于HTML文件上传,但不适用于上述情况。
driver.FindElement(By.XPath("//input[@id='fileInput']"), WaitTime).SendKeys("\\\\...\\....\\Test.txt");
我的C#webdriver自动化脚本尝试使用Browse按钮(它是Silverlight对象)上载文件。请让我知道如何使用webdriver上传文件。C#Webdriver - 上传文件(Silverlight)
以下代码适用于HTML文件上传,但不适用于上述情况。
driver.FindElement(By.XPath("//input[@id='fileInput']"), WaitTime).SendKeys("\\\\...\\....\\Test.txt");
WebDriver中的文件上传方法旨在与<input type='file'>
元素配合使用。为了处理上传文件(包括Silverlight和Flash)的非HTML机制,您需要调查其他库。
明知有此为Java小应用程序的工具,我挖,发现这些:
There is a tool for using Selenium RC with Silverlight!不知道如何以及它的实际工作,但你可以试试看。是的,我知道这只是Selenium RC,但你可以用WebDriverBackedSelenium
来尝试...
Scott Hanselman的博客(非常可读!) - “滥用”Silverlight可以运行Scriptable
方法。它是为Selenium IDE编写的,但同样适用于WebDriver
。
A testing framework for Silverlight.由Microsoft。硒是为网页,尝试一些Silverlight的魔术。
谢谢Slanec!我会试一试。 – RSV
元素是如何工作和外观的?是否可以通过Javascript访问它的任何部分?你可以点击元素,然后盲目输入文件的名称并按Enter?这很丑陋,但可以工作。 –
嗨Slanec,这只是一个“浏览...”按钮,SilverLight不接受JavaScript。无法单击浏览按钮,我无法输入文件路径。 – RSV
这就是我的意思。单击浏览按钮,然后模拟输入文件路径,然后按Enter键。您可以使用['SendKeys'](http://msdn.microsoft.com/zh-cn/library/system.windows.forms.sendkeys.aspx)类来模拟键入。 –