gpt4 book ai didi

webdriver - Selenium Webdriver 和 PageFactory 初始化 List 元素

转载 作者:行者123 更新时间:2023-12-02 23:31:19 25 4
gpt4 key购买 nike

我搜索了谷歌代码上托管的 Selenium Webdriver APi 文档。当前使用 PageFactory 来初始化我的 Page 对象,但在初始化 WebElement 列表时遇到问题。

我需要的是一种初始化元素列表的方法,最好是下拉选择框的列表。

我已经查看了对 @Findsby 和 @ByChained 的 API 引用,但仍然无法找出初始化下拉选择框列表的最佳方法。我可以为每个元素都有一个单独的 WebElement 并获取 ID,但我想初始化一个列表选择列表

目前我使用以下内容:

public class PageObject {

@FindBy(id="element_id")
private WebElement element;

public getElement() {
return element;
}
}

有什么方法可以使用类似于我所寻求的以下内容:

public class PageObject {   

@FindBys(className="selectItmes")
private List<WebElement> selects;

public List<WebElement> getSelects() {
return selects;
}
}

或者我必须为每个元素使用一个 Web 元素吗? :(

更新

任何人都知道如何使用 PageFactory 并初始化 List 元素;使用 FindsBy 注释。我找不到任何方法来做到这一点,但 selenium google 文档网站上有 google 问题,说这已在 Java api 绑定(bind)和版本 2.12 中修复,因为它在 2.11 中被错误地禁用了......我仍然可以' t 初始化一个列表。 =/

最佳答案

此功能最近已添加到 Selenium 2.0 中。检查这个issue 。现在已经修复了。

根据文档,您可以执行以下操作:

@FindAllBy(className="selectItmes") 
List<WebElement> selects;

如果您对代码感兴趣,请查看this

关于webdriver - Selenium Webdriver 和 PageFactory 初始化 List<WebElement> 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8008138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com