![](/img/trans.png)
[英]WebDriver file upload through input freezes after sendKeys triggers the upload
[英]Upload file with Webdriver: nothing happens after sendKeys()
我正在尝试通过Selenium Webdriver自动上传文件。
我已经在stackoverflow上阅读了很多与此主题有关的问题,并使用了此处提供的所有技巧,并且我的代码实际上正在测试页面上运行: https : //demo.vaadin.com/sampler/#ui/data-input/其它/上传
但是我无法在我的真实项目中使用它。 首先-我的输入字段是不可见的,因此我使用以下命令使其可见:
js.executeScript("arguments[0].setAttribute('style', arguments[1])",element, "opacity:100; width:50px");
我确认该字段确实可见。 比我通过sendKeys()方法发送文件的绝对路径:
Path path = Paths.get(value);
Path absolutePath = path.toAbsolutePath();
sendKeys(absolutePath.toString());
但是当我尝试检查该字段的值时:
String v=elem.getAttribute("value");
它总是空的。
我尝试将错误的路径发送到文件,并且此代码给了我一个错误-不是绝对路径,因此它的确在尝试向输入字段发送内容。
我想这与受测网页的代码有关,但是我没有足够的知识来分配问题。
输入元素的HTML代码如下:
<input type="file" data-bind="attr: {id: uid, name: inputName, multiple: isMultipleFiles}, disable: disabled, afterRender: onElementRender">
以下代码在C#中为我工作
SendKeys.SendWait(@"D:\filename");
SendKeys.SendWait(@"{Enter}");
添加"using System.Windows.Forms;"
在名称空间中
在参考中添加"System.Windows.Form"
您可能会发现这是因为文件路径无效。 确保:
当我在路径中引入..时,我发现此功能对我无声地停止工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.