尝试单击Kendo UI控件时未找到元素错误

时间:2019-04-05 04:13:48

标签: selenium selenium-webdriver xpath robotframework webdriverwait

机器人框架无法识别剑道按钮

当我尝试单击“剑道”按钮时,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中处理剑道控件吗?

1 个答案:

答案 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>