如何使用机器人框架上传文件?
Posted
技术标签:
【中文标题】如何使用机器人框架上传文件?【英文标题】:How to upload a file Using Robot framework? 【发布时间】:2020-08-30 12:24:47 【问题描述】:我想将使用机器人框架的图片上传到此:
我试过这个:
Add PJ
Scroll Element Into View xpath://div[@class='drop-zone text-center']
Choose File xpath://label[@class='label-dropZone'] ..\Resources/Robot-framework-logo.png
但我收到此错误:
ElementNotInteractableException: Message: element not interactable
【问题讨论】:
【参考方案1】:Choose File
背后的底层 Selenium 函数所做的是在 <input>
元素中输入您提供给它的文本(即本地文件的路径)。这些元素是在上传文件的 html 标准中定义的元素。
在“更高级”的上传 UI 中,这些输入是隐藏的 - 用户看不到文件路径,但会看到说明性文本“在此处选择文件或拖放文件”,格式令人愉悦。您的示例就是这种情况-针对<label>
,Selenium 说它不可交互而失败-无法在其上“键入”;它确实需要<input>
。
您可以/应该尝试在表单中找到<input>
,尽管它是隐藏的,并将其作为目标。但有时这是不可能的——可能有 JS 代码阻止你改变它;所以成功率是不同的。
【讨论】:
以上是关于如何使用机器人框架上传文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 jQuery 或其他 js 框架将字符串作为文件上传
如何使用 SQL 开发人员将任何文件从本地机器上传到数据库服务器文件系统
如何使用 <input type="file"/> 在本地机器上模拟真实的文件上传时间?