robotframework - 如何使用机器人框架上传文件?
问题描述
我试过这个:
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
解决方案
底层的 Selenium 函数所做的是在一个元素Choose File
中输入你给它的文本(即本地文件的路径) 。<input>
这些元素是在上传文件的 HTML 标准中定义的元素。
在“更高级”的上传 UI 中,这些输入是隐藏的——用户看不到文件路径,但会看到解释性文本“在此处选择文件或拖放它”,格式令人愉悦。您的示例就是这种情况-针对该示例<label>
,Selenium 说它不可交互而失败-无法在其上“键入”;它确实需要一个<input>
.
您可以/应该尝试<input>
在表单中找到它,尽管它是隐藏的,并以它为目标。但有时这是不可能的——可能有 JS 代码阻止你改变它;所以成功率是不同的。
推荐阅读
- karate - 需要一种方法为所有 api 请求设置全局标头(此标头由功能文件返回)
- looker - 是否可以使用现有度量创建新度量?
- c++ - Windows 故障转移群集中的 Win32 时间差异计算
- android - 如何为材质按钮设置渐变背景?
- python - 如何在 Pandas 数据框中将普通日期+时间更改为速记、可操作的日期时间?
- visual-studio - 为什么将 UAC 执行级别设置为 asInvoker 不起作用?
- javascript - Android 上的 Quasar 错误:无法加载 ip:port 处的网页,因为 net::ERR_ADDRESS_UNREACHABLE
- triggers - 仅通过推入主设备触发挂钩
- shell - 是否使用 `eval` 来定义带有来自文件邪恶的文本的函数?
- python - 更改堆叠数据框熊猫中的行顺序