You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Robot Framework中遍历无序列表(ul)并点击所有列表项(li)?

在Robot Framework中遍历无序列表并点击所有列表项的解决方案

我来帮你搞定这个遍历点击的问题!先揪出你当前代码里的小问题,再给你靠谱的实现方式~

先看你提供的HTML结构:

<ul class="list" tabindex="-1" id="thelist"> 
  <li class="item"></li> 
  <li class="item"></li> 
  <li class="item"></li> 
</ul>

你写的XPath xpath://*[@id="thelist"]/div[1]/ul 明显不对——实际结构里id="thelist"的ul下面直接就是li元素,根本没有嵌套的div和ul,这就是你代码没生效的核心原因。

正确的实现步骤

  1. 精准获取目标列表项:用正确的定位器找到id="thelist"下的所有li元素
  2. 循环遍历点击:逐个遍历获取到的元素列表,执行点击操作

完整的Robot Framework代码

*** Test Cases ***
遍历并点击所有列表项
    # 获取id为thelist的ul下的所有li元素(两种定位方式可选)
    @{list_items}=    Get WebElements    xpath://*[@id="thelist"]/li
    # 或者用更简洁的CSS选择器:
    # @{list_items}=    Get WebElements    css:#thelist li.item
    
    # 遍历每个列表项并点击
    FOR    ${item}    IN    @{list_items}
        Click Element    ${item}
        # 要是点击后页面会刷新/跳转,记得加个等待避免元素失效:
        # Wait Until Page Contains Element    xpath://*[@id="thelist"]
    END

额外小提示

如果点击某个li后页面发生跳转或刷新,之前获取的元素列表会直接失效,这种情况建议每次点击前重新获取元素,或者改成通过索引定位每个li(比如xpath://*[@id="thelist"]/li[${index}])。

内容的提问来源于stack exchange,提问作者Mwiendels

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 19:22:28