gpt4 book ai didi

java - 检索 WebElements 列表并识别它们

转载 作者:行者123 更新时间:2023-11-29 04:48:51 25 4
gpt4 key购买 nike

有没有办法识别 WebElement 名称并将其分配给 WebElement 列表?例如使用以下约定:W

@FindBy(xpath="")
WebElement listFirstObject;

@FindBy(xpath="")
WebElement listSecondObject;

如果这是一个基本问题,请原谅我,但对于任何测试人员来说,这似乎是一个非常常见的场景,因为许多应用程序都有具有通用名称的对象列表。在我的例子中,我有一个包含 700 多个对象的控制列表,如果能够编写一些迭代方法来捕获并单独创建列表中的每个公共(public) WebElement,那就太好了。

** 我已经更新了我的问题以进一步澄清** 获取整个信息网格对我来说是全新的,所以请具体说明答案,因为我正在尝试理解其背后的逻辑。

所以我有我正在寻找的元素是网格数据,我已经成功捕获了整个网格,例如

@FindBy(id="ctl00_SomeGridData_ucControlList_trgControlList_ctl00")
List<WebElement> someGridData;

如果我要单独捕获网格中的每个新添加项,它看起来会是这样的:

@FindBy(id="ctl00_SomeGridData_ucControlList_trgControlList_ctl00__0")
WebElement someGridObj1;

@FindBy(id="ctl00_SomeGridData_ucControlList_trgControlList_ctl00__1")
WebElement someGridObj2;

@FindBy(id="ctl00_SomeGridData_ucControlList_trgControlList_ctl00__2")
WebElement someGridObj3;

如您所见,每个单独的网格元素都以“__#”结尾,显然这是一个无限列表,我无法单独捕获每个 WebElement 并分配一个 WebElement 值以用于测试。我想问的是如何捕获整个列表,然后如果我需要稍后调用单个 WebElement 来测试我该怎么做?我希望这能澄清并感谢阅读。

最佳答案

好的,既然已经编辑了你的问题,那么你想知道的就很清楚了。假设您的网格数据在 td 中元素,您可以执行以下操作。

@FindBy(css = "td[id^=ctl00_SomeGridData_ucControlList_trgControlList_ctl00__]")
List<WebElement> allGridData;

通过使用 ^ (这意味着开始于)你收集所有 td id 以 ctl00_SomeGridData_ucControlList_trgControlList_ctl00__ 开头的元素.

关于java - 检索 WebElements 列表并识别它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36186674/

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