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
相关产品推荐
相关产品推荐

