gpt4 book ai didi

java - 查找所有的 xpath 或 cssSelector 位置

转载 作者:行者123 更新时间:2023-11-30 02:06:35 26 4
gpt4 key购买 nike

我对开发还比较陌生,所以如果其中一些看起来相当业余,请原谅我。我发布这个问题的部分原因是为了帮助我找到答案,部分原因是为了确保我遵循良好的编码实践。

挑战 -

我正在使用 Java 和 Selenium 来检查一个非常大的动态填充表。我需要找到一个特定的元素列表,其中文本与区分大小写的字符串匹配 -

List<WebElement> AllPaths = getCurrentDriver().findElements(By.xpath("//*[text()[contains(.,'" + fixedString + "')]]"));

我正在检查的表格基本上是一个大型日历样式的网格。如果我没有找到fixedString 的证据,那么我想一次迭代一个月,直到找到fixedString。

问题 -

如果找不到元素,上面的代码将返回异常。我的第一个想法是设置一个 while 循环,尝试/捕获异常,然后重复直到异常停止。然而,这对我来说是错误的——我认为我不应该本质上“吞噬”异常。也就是说,我不确定尝试查找此元素的正确方法是什么,如果找不到它,则不会导致异常。

我认为编写您知道会导致异常的代码然后简单地吞下它并继续前进是一个坏主意,这是正确的吗?

希望这是有道理的,正如我所说,我是初学者,所以请保持温柔:)

最佳答案

你可以尝试类似的方法 -

if(AllPaths.size()>0){
//logic when elements found with fixed string
}else{
//logic to iterate over another month
}

另外,你的说法对我来说似乎是错误的。应该是-

List<WebElement> AllPaths = getCurrentDriver().findElements(By.xpath("//*[contains(text(),'" + fixedString + "')]"));

findElements 不会以这种方式抛出异常。如果没有找到元素,它将返回空。该异常似乎是由于您用来查找元素的语句不正确所致。

关于java - 查找所有的 xpath 或 cssSelector 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51153164/

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