编程语言
首页 > 编程语言> > javascript-通过Selenium在AngularJS中自动上传文件

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 &amp;&amp; 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