当前位置: 首页 > 面试题库 >

如何在机器人框架中获取所有文本?

罗波鸿
2023-03-14
问题内容

考虑以下源代码,

<div id="groupContainer" class="XXXXXX">

<ul id="GroupContactListWrapper" class="list-wrapper">
    <li class="contactNameItemContainer">

        <div class="contactNameItem">
            <span class="name">Name1</span>
        </div>

    </li>
    <li class="contactNameItemContainer">

        <div class="contactNameItem">
            <span class="name">Name2</span>
        </div>

    </li>
</ul>

</div>

如何检索列表变量中的两个名称(Name1,Name2)?我为“ Get Text”关键字尝试了以下xpath,但仅返回第一个。

//div[@id='groupContainer']//li[@class='contactNameItemContainer']//span

请建议


问题答案:

您可以遍历以下元素:

${xpath}=    Set Variable    //div[@id='groupContainer']//li[@class='contactNameItemContainer']//span
${count}=    Get Matching Xpath Count    ${xpath}
${names}=    Create List
:FOR    ${i}    IN RANGE    1    ${count} + 1
\    ${name}=    Get Text    xpath=(${xpath})[${i}]
\    Append To List    ${names}    ${name}

这种方法有效,但是在有许多匹配项时速度很慢。



 类似资料:
  • 问题内容: 如何在机器人框架中获取 文本溢出 的CSS样式。用于验证省略号文本。 问题答案: 更新:在当前的SeleniumLibrary(3.2+)中,有一个专用关键字:Get Element Attribute(获取元素属性) SeleniumLibrary for Robot Framework不支持获取CSS属性的值。但是,Selenium Python模块中有一种方法可以完全做到这一点。

  • 我正在尝试设置一个容器,以便在Chrome上使用RobotFramework进行测试。 但是当我运行容器时,我总是得到一个WebDriverException。我已经找过了,但找不到任何对我有效的修复方法。 这是我的Dockerfile

  • 现在,我设置路径变量 我可以在命令行中调用open。 但在 FAIL: WebDriver异常:消息:未知错误:Chrome未能启动:崩溃(驱动程序信息:chromeDrive=2.13.307647 (5a7d0541ebc58e69994a6fb2ed930f45261f3c29),平台=Windows NT 6.1 SP1 x86)

  • 你好,我是一个新的初级测试软件,我被要求学习X射线和机器人框架,以及如何实现两者。 在我开始学习机器人框架之后,我用X射线做了一些测试用例,直到一切都很好。 现在我一直在尝试实施我在机器人上做的测试案例的结果到X射线中的测试执行,但每次我尝试将output.xml从机器人导入X射线而不是“同步”这个测试X射线创造了我新的测试关心机器人的结果。 有没有人以前做过这件事可以帮我?我曾尝试在robot中

  • 问题内容: 我有一组具有相同名称的输入复选框,并且我想确定已使用JavaScript选中了哪些复选框,如何实现呢?我只知道如何获取所有复选框,如下所示: 问题答案: 一个简单的for循环,用于测试属性并将选中的属性附加到单独的数组中。从那里,如果需要,您可以进一步处理数组。

  • 我有一个聊天机器人解决方案创建使用。Net Framework,该框架与Facebook messenger集成,使用Microsoft提供的以下说明: https://docs.microsoft.com/en-us/azure/bot-service/bot-service-channel-connect-facebook?view=azure-bot-service-4.0 现在他们添加了一