簡體   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