使用 Selenium 和 Robot Framework 遍历 Web 元素

AMJ*_*AMJ 2 selenium loops robotframework

在网页上有许多具有相同跨度类名称的元素。我可以使用关键字“Get Text class: ...”获取第一个元素的值。

但我就是无法弄清楚如何迭代并获取所有这些相同的跨度类名称的值。有任何想法吗?

我知道如何使用 Python 迭代例如文本文件,但我对 Selenium 和 RFW 还不够熟悉。

Ben*_*ics 6

您可以使用Get WebElements关键字获取具有相同类的所有 Web 元素,然后您可以使用循环迭代它们for。请注意,我使用的是RF 3.1 新for语法。您可以使用扩展变量语法访问文本属性。

${elements}=    Get WebElements    //span[@class='myclass']
FOR    ${element}    IN    @{elements}
    Log    ${element.text}
END
Run Code Online (Sandbox Code Playgroud)

另一种选择是Get Text在循环内使用关键字,您可以将 web 元素变量作为定位器传递。

${elements}=    Get WebElements    //span[@class='myclass']
FOR    ${element}    IN    @{elements}
    ${text}=    Get Text    ${element}
    Log    ${text}
END
Run Code Online (Sandbox Code Playgroud)