首页 > 解决方案 > 如何使用机器人框架上传文件?

问题描述

我想将使用机器人框架的图片上传到此: 在此处输入图像描述

我试过这个:

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

标签: robotframework

解决方案


底层的 Selenium 函数所做的是在一个元素Choose File中输入你给它的文本(即本地文件的路径) 。<input>这些元素是在上传文件的 HTML 标准中定义的元素。

在“更高级”的上传 UI 中,这些输入是隐藏的——用户看不到文件路径,但会看到解释性文本“在此处选择文件或拖放它”,格式令人愉悦。您的示例就是这种情况-针对该示例<label>,Selenium 说它不可交互而失败-无法在其上“键入”;它确实需要一个<input>.

您可以/应该尝试<input>在表单中找到它,尽管它是隐藏的,并以它为目标。但有时这是不可能的——可能有 JS 代码阻止你改变它;所以成功率是不同的。


推荐阅读