繁体   English   中英

锚标签自动上传文件场景

[英]Automate upload file scenario of anchor tag

我正在尝试自动化行为,该行为具有与具有不同断言组合的文件上传相关的多个场景。 UI 中有一个锚标记而不是输入标记,为什么我不能使用发送键来上传文件。 我不想使用 AutoIT、Sikuli 之类的工具,因为它们与云环境中的远程执行不兼容并增加了额外的库负担。

这是一个有角度的 js 应用程序,DOM 代码是

---"a href="javascript:void(0)" title="选择要上传的文件" class="btn btn-blue" ng-show="fileUploadSubmitted" id="file_input_btn" ng-click="uploadFileAttachment( )”

我试图找到:- 1:angular js库的任何内置上传功能,以便我可以通过javascript执行程序执行它。 2:Sikuli 和 AutoIt 正在工作,但这将是最后的解决方案 3:尝试编辑标签名称以输入 DOM 中的类型文件,然后是发送键,但它不起作用

你可以试试下面的方法。

Tested locally not on the server.

# get the button element
ele = driver.find_element_by_id("file_input_btn")
# add a hidden file input ( might have to change the onchange event based on the events associated to the button in above line as you don't have a form)
driver.execute_script("var x=  document.createElement('INPUT');x.setAttribute('type', 'file'); x.setAttribute('onchange','this.form.submit()');x.setAttribute('hidden', 'true'); arguments[0].appendChild(x);",ele)
# send the file path here ( this should upload the file)
driver.find_element_by_xpath("//input[@type='file']").send_keys("file path should go here")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM