繁体   English   中英

Webdriver xpath多个匹配

[英]Webdriver xpath multiple matching

出于某种原因,这对我不起作用

driver.findElement(By.xpath("//textarea[@id[contains(., 'explanation')]] or input[@id[contains(., 'notes')]]")).sendKeys("auto-generated text");

在哪里可以找到加入多个匹配条件的语法规则?

编辑:只是将解释复制到我的问题>

我希望xpath匹配其中一个元素,具体取决于被测试的页面。 两个页面具有不同的id和标签,因此在一种情况下它将匹配“textarea”,在另一种情况下 - “输入”。 我可以使用一个if语句解决这个问题,但我很好奇xpath是否可以在这种情况下工作。

or运算符是布尔运算符,不能在此处使用。 我假设您需要由|表示的节点集的并集 运营商。 请注意,当您进行替换时,您必须考虑两个标记textareainput的嵌套级别如何相互关联。

//*[((name(.)='textarea') and contains(@id,'explanation')) or ((name(.)='input') and contains(@id,'notes'))]应该工作,但我不能决定它是否比if ;-)更好

暂无
暂无

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

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