繁体   English   中英

Selenium @FindBy通过一个或另一个xpath找到

[英]Selenium @FindBy find by one xpath or another

我正试图在页面上找到一个元素

@FindBy(xpath = "somexpath")
WebElement someElement;

问题是有时元素的xpath略有不同(因为同一个表中显示的登录消息失败)。 如何通过一个xpath或另一个xpath找到元素? 就像是

xpath == "somexpath1" || xpath == "somepath2"

我试过做一个重复注释,像这样:

@FindBy(xpath = "somexpath1")
@FindBy(xpath = "somexpath2")
WebElement someElement

但那不会编译。 我尝试过使用@FindBys,但这似乎与&&而不是||一样。

任何帮助,将不胜感激。 谢谢!

几个路径可以与|组合 分隔符,它有效地用作逻辑OR。

@FindBy(xpath = "somexpath1 | somexpath2")

尝试使用这样:

@FindAll({ @FindBy(id = "id1"), @FindBy(id = "id2") })

如果两个id都可用,您将获得包含两个元素的列表,否则只有一个元素id1id2

这对我来说可以。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM