gpt4 book ai didi

java - 没有找到任何元素的页面对象模式和 driver.findElements

转载 作者:行者123 更新时间:2023-11-29 04:20:59 24 4
gpt4 key购买 nike

来自维基文档 https://github.com/SeleniumHQ/selenium/wiki/PageFactory我发现,如果脚本使用 eg.
找到了一些元素@FindBy(id = "q") WebElement q;

句子:

 q.sendKeys(text);

相当于:

driver.findElement(By.id("q")).sendKeys(text);

但是我如何在 POM 中使用注释来:

driver.findElements(By.id("q")).isEmpty() ?

目前我只使用纯 Selenium 而没有注释,例如。

 if(!driver.findElements(By.id("q")).isEmpty()) {
q.click }

当然,我可以使用try/cath,但是在POM中应该有一些Annotation for 'findElements'。

最佳答案

您要求的不是 Selenium WebDriver 东西。它是 Java。

isEmpty() 方法属于List 接口(interface)。 List 在调用 findElements() 方法后返回。

如果您想使用@FindBy 并检查List 是否为空,请执行以下操作:

@FindBy(id = "q")
WebElement element;

@FindBy(id = "q")
List<WebElement> listOfElements;

public void someMethod() {
//can't use `isEmpty()` on `element` because it's NOT a list
listOfElements.isEmpty(); //that's how you can use it
}

关于java - 没有找到任何元素的页面对象模式和 driver.findElements,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49193631/

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