我正在使用Powershell来驱动.NET Selenium,并使用FirefoxDriver来自动化一些东西.其中一部分是文件上传,而网站恰巧(至少部分)是用AngularJS编写的.
现在,我已经找到了如何使用常规输入元素自动执行文件上传.只需通过SendKeys发送文件路径.
但我无法解决这种情况.带有可选的手动文件选择器的文件放置区域的HTML如下:
<div class="overflowHidden video-drop-zone file-drop-zone zone appversionicon rounded"
ng-file-drop="onFileSelect($files);" ng-file-drop-available="dropSupported=true">
<div class="simpleDropZoneFileSelect">
<span class="selectFileText">
<span class="ng-binding ng-hide" ng-show="dropLabel !== undefined && dropLabel !== ''"><br></span>
<a class="ng-binding" href="" ng-show="true">Select file</a>
<input class="" ng-show="true" ng-file-select="onFileSelect($files)" type="file">
</span>
</div>
</div>
我希望我没有做太多简化.当然,整个AngularJS设置还不止于此.但是,也许您足以给我一些关于下一个目标或如何实现此目标的指示.如果没有,请告诉我,我会添加更多信息.
我发现,在进行AngularJS测试时,量角器似乎是可行的方法,但是它会极大地改变我的设置(使用NodeJS服务器等),而我现在所需要的只是上传文件.
谢谢!
桑德罗
解决方法:
Driver.FindElement(By.CssSelector("input[type='files']")).SendKeys("FilePath")
应该做
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。