将 Xpath 转换为列表变量并使用 For 循环

Turning an Xpath into a list variable and use For loop

我对机器人框架还很陌生。这个问题是关于使用 Xpath 创建一个列表变量。

我正在尝试在机器人中编写一个 FOR 循环,以便打印出现在搜索结果页面上的所有项目。这是我到目前为止所做的:

  1. 我尝试使用 Xpath 声明一个列表变量:
    @{product}         //div[contains(@class,'ProductCard__TitleMaxLines')]

此 Xpath 的重复次数与页面上的项目数相同,例如20,所以我假设这个列表将包含 20 个成员。 --> 是这样的吗?

  1. 我创建了一个 For 循环:
    ${index}        Set variable        1
    For     ${product}  in      @{related_product}
            Exit for loop if    ${index} > 20
            Log to console      ${product}
            ${index}        Evaluate        ${index}+1

    End          

为此,我假设它将在 Xpath 上找到的第一个产品的索引为 1,下一个索引为 2,依此类推。

这就是我到目前为止所做的一切。请告知这是否正确,或者是否有另一种更好更典型的方法。

我想你的问题是,你在网页中有大约 20 次类似的 xpath。如果我的理解是正确的,您应该使用 Selenium 库中的 Get Webelements 关键字。

@{product}     Get Webelements    //div[contains(@class,'ProductCard__TitleMaxLines')]

以上行将创建具有相同 xpath 的网络元素列表