javascript-通过Selenium在AngularJS中自动上传文件
作者:互联网
我正在使用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")
应该做
标签:angularjs,selenium,selenium-webdriver,javascript 来源: https://codeday.me/bug/20191121/2049116.html