[英]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都可用,您将获得包含两个元素的列表,否则只有一个元素id1
或id2
。
这对我来说可以。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.