机械手框架-定位具有接受属性的输入元素失败

时间:2018-11-20 03:19:35

标签: selenium automated-tests robotframework

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

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

我正在使用Robot Framework的 Wait直到元素可见” 关键字来查找上面的定位符,但未成功,但出现错误:

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

增加超时也不起作用。在Chrome Dev Tools中使用相同的元素即可成功找到该元素。我的猜测是逗号/斜杠与Robot的定位器解析混淆在一起。我的问题是:编写定位器的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

尽管在DOM中存在,但元素可能不可见/渲染。文件上载MakeSnapshot()元素经常是这种情况-UI呈现了不同的内容,inputbutton应用了样式并更适合整体设计。

因此可见的检查将理所当然地失败。更改使用前的方法,以验证div是否在HTML中-实际上与您在浏览器的开发工具中所做的相同-使用input关键字,然后继续进行。

答案 1 :(得分:0)

您使用的CSS定位器没有问题。也许元素在另一个iframe中?