将 Xpath 转换为列表变量并使用 For 循环
Turning an Xpath into a list variable and use For loop
我对机器人框架还很陌生。这个问题是关于使用 Xpath 创建一个列表变量。
我正在尝试在机器人中编写一个 FOR 循环,以便打印出现在搜索结果页面上的所有项目。这是我到目前为止所做的:
- 我尝试使用 Xpath 声明一个列表变量:
@{product} //div[contains(@class,'ProductCard__TitleMaxLines')]
此 Xpath 的重复次数与页面上的项目数相同,例如20,所以我假设这个列表将包含 20 个成员。 --> 是这样的吗?
- 我创建了一个 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 的网络元素列表
我对机器人框架还很陌生。这个问题是关于使用 Xpath 创建一个列表变量。
我正在尝试在机器人中编写一个 FOR 循环,以便打印出现在搜索结果页面上的所有项目。这是我到目前为止所做的:
- 我尝试使用 Xpath 声明一个列表变量:
@{product} //div[contains(@class,'ProductCard__TitleMaxLines')]
此 Xpath 的重复次数与页面上的项目数相同,例如20,所以我假设这个列表将包含 20 个成员。 --> 是这样的吗?
- 我创建了一个 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 的网络元素列表