我正在为具有以下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开发工具中使用相同的方法可以成功地找到该元素。我的猜测是逗号/斜杠扰乱了Robot的定位器解析。我的问题是:编写定位器的正确方法是什么?
虽然存在于DOM中,但元素可能不可见/不呈现。文件上传input
元素经常出现这种情况——UI呈现出不同的东西,button
、div
应用了样式,更适合整体设计。
因此,如果检查是可见的,就会理所当然地失败。更改使用前的方法,用Page Should Contain Element
关键字验证input
是否在HTML中——这实际上与您在浏览器的开发工具中所做的相同——然后继续成功。
您正在使用的CSS定位器没有问题。也许元素在另一个iframe中?