首页 > 解决方案 > 需要在运行时根据表中存在的行数形成一个xpath定位器

问题描述

下面是我的示例代码。

:FOR    ${Temp}    IN    @{Status_Count_Elements}
\    Click Element    ${Temp}
\    ${Locator}=    Form Locator         ${Id_Locator}     ${index}
\    ${Data}=       Get Text             xpath=//*[@id="${Locator}"]
\    ${index} =     Evaluate             ${index} + 1
Close Browser   

输出:

20180727 11:14:25.943 : INFO : ${Return} = toggle0
20180727 11:14:25.943 : INFO : ${Locator} = toggle0
20180727 11:14:25.977 : INFO : ${Data} = ***** not able to read text
20180727 11:14:25.978 : INFO : ${index} = 1

但是,我尝试对 xpath 进行硬编码并且它可以工作,但这是错误的,因为它总是读取第一行数据。

:FOR    ${Temp}    IN    @{Status_Count_Elements}
\    Click Element    ${Temp}
\    ${Locator}=    Form Locator         ${Id_Locator}     ${index}
\    ${Data}=       Get Text             xpath=//*[@id="toggle0"]
\    ${index} =     Evaluate             ${index} + 1
Close Browser

请告诉我如何使它动态工作。

标签: python-3.xseleniumrobotframework

解决方案


推荐阅读