首页 > 解决方案 > 机器人框架 - 使用接受属性定位输入元素失败

问题描述

我正在使用以下 CSS 定位器为头像上传模块编写自动化脚本:

input[accept="image/png,image/jpeg,image/gif,image/bmp"]

我正在使用 Robot Framework 的Wait Until Element Is Visible关键字来查找上面的定位器,但由于错误而失败:

Element 'css=input[accept="image/png,image/jpeg,image/gif,image/bmp"]' not visible after 30 seconds.

增加超时也不起作用。在 Chrome 开发工具中使用相同的内容将成功找到该元素。我的猜测是逗号/斜杠弄乱了机器人的定位器解析。我的问题是:编写定位器的正确方法是什么?

标签: seleniumautomated-testsrobotframework

解决方案


虽然存在于 DOM 中,但元素可能不可见/不呈现。文件上传元素经常出现这种情况input- UI 呈现不同的东西,a buttondiv它应用了样式并且更适合整体设计。

因此,检查是否可见将理所当然地失败。更改您的使用前方法以验证inputHTML 中的内容 - 这实际上与您在浏览器的开发工具中所做的相同 - 使用Page Should Contain Element关键字,并继续成功。


推荐阅读