机器人框架无法识别剑道按钮
当我尝试单击“剑道”按钮时,robotframework会引发“找不到元素”错误。我也尝试过硒。响应是相同的。
在xpaths下尝试过
xpath://*[@id='btn-ctrl-grp']//span[contains(text(),'WARM')]
//*[@id='btn-ctrl-grp']/li[3]/span
xpath://*[contains(text(),'WARM')]
我的html页面包含以下kendo元素
<li id="header-col5">
<div id="header-navigation">
<ul id="btn-ctrl-grp" style="padding:0px;margin:0px;" data-
role="buttongroup" class="km-widget km-buttongroup k-widget
k-button-group">
<li class="btn-ctrl ng-binding ctrl-btn-inactive k-button km-
button" ng-disabled="reqCtrlMode == 1 || header.appStatus ==
'INACTIVE'" ng-class="onButtonClass">
<span class="k-text km-text">ON</span></li>
<li class="btn-ctrl ng-binding k-button km-button ctrl-btn-
offbtn k-state-active km-state-active" ng-
disabled="reqCtrlMode == 0 || header.appStatus == 'INACTIVE'"
ng-class="offButtonClass" disabled="disabled">
<span class="k-text km-text">OFF</span></li>
<li class="btn-ctrl ng-binding ctrl-btn-inactive k-button km-
button" ng-disabled="reqCtrlMode == 11 || header.appStatus ==
'INACTIVE'" ng-class="warmButtonClass">
<span class="k-text km-text">WARM</span></li>
</ul>
</div>
</li>
有人可以指导我如何在robotframework中处理剑道控件吗?
答案 0 :(得分:0)
要使用文本为 Warm 的剑道按钮上的click()
,可以使用以下基于 xpath 的解决方案:
//ul[@class='km-widget km-buttongroup k-widget k-button-group' and @id='btn-ctrl-grp']//span[@class='k-text km-text' and text()='WARM']
注意:该元素是一个Angular元素,因此必须诱使 WebDriverWait 使元素可点击 < / p>