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

RobotFramework中find_elements_by_tag_name弃用问题修复求助

问题修复:Robot Framework中WebElement调用find_elements_by_tag_name报错

错误原因

Selenium 4.x及以上版本移除了find_elements_by_tag_name、find_element_by_id这类直接绑定在WebElement上的定位方法,现在必须通过find_elements()方法配合定位策略参数来实现子元素查找。

修复步骤与代码

1. 确保导入SeleniumLibrary

如果测试用例开头未导入,需添加:

Library    SeleniumLibrary

By类会随SeleniumLibrary自动引入,无需额外导入。

2. 替换错误的元素查找代码

将原代码中:

@{elements}=  Set Variable   ${row.find_elements_by_tag_name('td')}

替换为以下两种方式之一:

方式一:使用关键字参数

@{elements}=    Call Method    ${row}    find_elements    tag_name=td

方式二:使用By.TAG_NAME常量

@{elements}=    Call Method    ${row}    find_elements    ${By.TAG_NAME}    td

修复后的完整代码片段

@{severity_list}=   Create List

FOR  ${page}  IN RANGE  99999
    @{rows}=    Get Alarms Table Rows
    FOR  ${row}  IN  @{rows}
        @{elements}=    Call Method    ${row}    find_elements    tag_name=td
        # Train Severity List
        @{train_severity}=  Create List  
        Append To List  ${train_severity}  ${elements[2].text}
        Append To List  ${train_severity}  ${elements[3].text}
        # Get Severity value
        Append To List  ${severity_list}    ${train_severity}
    END
END

错误信息翻译

错误信息:解析变量'${row.find_elements_by_tag_name('td')}'失败:
AttributeError: 'WebElement'对象没有属性'find_elements_by_tag_name'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 08:25:26