我正在处理一个带有1个可见文本框的网页。
<div class="col-xs-5 pull-right search-bar">
<input class="form-control search-box ng-pristine ng-untouched ng-valid" id="searchBox" placeholder="Enter a supplier or a catalog name" ng-model="query" ng-change="search()">
</div>
当我尝试使用以下方法来显示该元素时:
Wait Until Page Contains Element xpath=//input[@id="searchBox"] 60
我收到一条错误消息:
Element 'xpath = //input[@id="searchBox"]' did not appear in 1 minute.
我已经使用上面的xpath搜索了element,当我在浏览器中手动搜索时,仅给我1个结果。我也尝试使用div标签搜索它。该元素立即显示在页面上,无需花费时间即可加载。
答案 0 :(得分:0)
您可以尝试以下格式:
Wait Until Page Contains Element xpath://input[@id='searchBox'] 60
使用语法strategy:value或strategy = value,使用前缀指定显式定位器策略。首选前一种语法,因为后者与Robot Framework的命名参数语法相同,并且可能导致问题。分隔符周围的空格将被忽略,因此id:foo,id:foo和id:foo都是等效的。
答案 1 :(得分:0)
如果您使用的是id,则无需使用xpath,因此
Wait Until Page Contains Element id=searchBox 60
应该没事。
此外,要访问元素,您需要确保: 1)可见 2)已启用 3)在其上方没有其他元素(如叠加元素)