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

RoboFramework Selenium遍历role=article元素获取子元素href和文本方案咨询

解决方案

你只需要在现有循环逻辑的基础上,基于当前遍历的article父元素,定位到内部的span元素后获取文本即可,调整后的完整代码如下:

${elements}=    Get WebElements     xpath://div[@role='article']
FOR    ${element}    IN    @{elements}
    # 采集链接属性
    ${link_elem}=    Set Variable      ${element.find_element_by_xpath(".//h2//a[contains(@class, 'C')]")}
    ${url}=    Call Method    ${link_elem}    get_attribute    href

    # 采集span文本,两种实现方式二选一即可
    # 方式1:调用WebElement原生属性
    ${span_elem}=    Set Variable    ${element.find_element_by_xpath(".//div[@class='X']/span[@class='Y']")}
    ${text}=    Set Variable    ${span_elem.text.strip()}

    # 方式2:使用SeleniumLibrary原生关键字,写法更符合RF规范
    # ${text}=    Get Text    xpath:.//span[@class='Y']    parent=${element}

    # 输出拼接后的结果
    Log To Console    ${url} - ${text}
END

注意事项

  • 定位子元素的XPath开头必须加.,代表仅在当前遍历的article元素范围内查找,避免全局匹配到其他article下的元素
  • strip()方法用于清洗掉HTML中span标签内容前后的换行、空格,拿到纯净的文本内容
  • 原定位逻辑中的contains(@role, 'article')可以替换为@role='article',精确匹配属性值可避免误匹配其他包含article字段的role属性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 18:24:04