gpt4 book ai didi

java - 如何获得与通配符 css 选择器匹配的第二个元素?

转载 作者:太空宇宙 更新时间:2023-11-04 00:44:16 26 4
gpt4 key购买 nike

我有一个页面有两个按钮共享相似的 id,按钮 A id 为“ABCNN_xxx”,按钮 B id 为“ABC(NN+1)_xxx”,其中 NN 是一个数字,在其他页面上不同用同样的逻辑。我的脚本需要在不同的页面上普遍获取这些按钮,所以我使用通配符 css 选择器。然而,由于这两个按钮共享相同的模式,通配符选择器只会捕获它看到的第一个按钮(A,具有较小的 NN 编号),而无法找到第二个按钮。

我试图将 [2] 放在选择器后面,但它似乎不能那样工作。我正在使用下面的 css 选择器。它会给我第一场比赛,但不会给我剩下的比赛。

driver.findElement(By.cssSelector("img[id^='ABC'][id$='_xxx']")).click();

除了第一次给我 ABC36_xxx 之外,我还想在第二次调用时获得 ABC37_xxx 而不是返回第一个结果。我应该如何实现我的目标?

最佳答案

如果您确定定位器:By.cssSelector("img[id^='ABC'][id$='_xxx']") 并且不止一个,则收集它们通过:

List<WebElement> elmnts = driver.findElements(By.cssSelector("img[id^='ABC'][id$='_xxx']"));

这是获取第二个元素:

elmnts.get(1).click();

导入这个:

import java.util.List;
import org.openqa.selenium.WebElement;

关于java - 如何获得与通配符 css 选择器匹配的第二个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57586214/

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