我正在尝试使用Selenium Webdriver&C#将图像加载到浏览器中 . 当我使用Selenium IDE它工作正常时,IDE只需将文件路径输入文本框并加载图像 . 但是,当我将相同的代码导入Visual Studio并通过Webdriver运行时,我得到一个“InvalidOperationException:元素必须是用户可编辑的才能清除它” .
我怀疑这与正在使用的浏览器实例有关 . 当我通过IDE运行测试时,它使用已经打开的Firefox实例,当我通过Webdriver运行时,它会打开一个新实例 . 这听起来不错吗?如果有的话有解决方法吗?
如果我单击文本框或texbox右侧的“选择”按钮,它会打开一个文件对话框,但是当我切换到对话框时,我放松了对驱动程序的控制 .
否则有没有办法加载这个图像文件?
下面是从IDE上传的代码片段 .
在此先感谢您的帮助 . 贝琳达
driver.FindElement(By.Id( “Barcode_fileInput”))清除(); driver.FindElement(By.Id( “Barcode_fileInput”))的SendKeys( “C:\用户\贝琳达\图片\ ValidImageType.jpg”);
2 回答
如果您的html看起来像上面那样使用指向输入标记的选择器 .
如果您的网站不限制该文件,则应该上传该文件 . 我正在使用C#
只需使用
driver.FindElement(By.Id("Barcode_fileInput")).SendKeys("C:\Users\Belinda\Pictures\ValidImageType.jpg");
不包括
driver.FindElement(By.Id("Barcode_fileInput")).Clear();