【问题标题】:element not found error while trying to click a Kendo UI control尝试单击 Kendo UI 控件时未找到元素错误
【发布时间】:2019-08-26 22:20:29
【问题描述】:

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

当我尝试单击剑道按钮时,robotframework 会抛出“找不到元素”错误。我也试过硒。反应是一样的。

在xpaths下试过,

    xpath://*[@id='btn-ctrl-grp']//span[contains(text(),'WARM')]

    //*[@id='btn-ctrl-grp']/li[3]/span

    xpath://*[contains(text(),'WARM')]

我的 html 页面包含以下剑道元素

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

谁能指导我如何处理机器人框架中的剑道控制?

【问题讨论】:

  • 前两个定位器看起来都不错,它们应该匹配它(第三个太宽了,将匹配该分支中的所有元素)。你确定这个 html 不在框架中吗?
  • 没有。它不在任何新框架内。我可以访问此剑道按钮旁边的元素。

标签: selenium selenium-webdriver xpath robotframework webdriverwait


【解决方案1】:

到剑道按钮上的click(),文本为WARM,您可以使用以下基于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 以使元素可点击

【讨论】:

  • 谢谢。我能够找到元素。但它无法点击。我可以看到点击正在发生,但弹出窗口没有出现。我在 WIN 10 的 IE 11 上遇到了类似的硒问题(在 WIN 10 IE11 上点击失败)。但它在 Win 7 IE 11 中运行良好。机器人框架是否也存在同样的问题?
  • 我不太会robotframework,也许这个discussion可以帮到你。
  • 那个定位器真的很糟糕而且很脆弱。 //ul[@id='btn-ctrl-grp']//span[.='WARM'] 足以定位该元素。
猜你喜欢
  • 1970-01-01
  • 2022-11-04
  • 2019-07-19
  • 1970-01-01
  • 1970-01-01
  • 2023-01-15
  • 1970-01-01
  • 1970-01-01
  • 2021-12-18
相关资源
最近更新 更多