我想知道是否有方法來驗證Xpath上的多個字符串。這是我現在使用的一個:Xpath表達式或OR
/td[2][text()[contains(.,'Word1')]]
我想要做這樣的事情:
/td[2][text()[contains(.,'Word1' OR 'Word2' OR 'Word3')]]
這可能嗎?
我想知道是否有方法來驗證Xpath上的多個字符串。這是我現在使用的一個:Xpath表達式或OR
/td[2][text()[contains(.,'Word1')]]
我想要做這樣的事情:
/td[2][text()[contains(.,'Word1' OR 'Word2' OR 'Word3')]]
這可能嗎?
更新答案:
我相信,爲什麼你遇到的問題是病例敏感度,請以小寫字母or
:
//td[text()[contains(.,'Word1') or contains(.,'Word2') or contains(.,'Word3')]]
如果沒有幫助,您可以使用Union
方法:
/td[2][text()[contains(.,'Word1')]] | /td[2][text()[contains(.,'Word2')]] | /td[2][text()[contains(.,'Word3')]]
是 - 你只需要單獨電話:
[contains(., 'Word1') OR contains(., 'Word2') OR contains(., 'Word3')]
當你擁有了它目前,一個布爾值被作爲第二個參數傳遞給contains
,而不是字符串。
是的,它是可能的:
/td[2][text()[contains(.,'Word1') OR contains(.,'Word2') OR contains(.,'Word3')]]
隨着的XPath 2.0或3.0你也可以使用:
一個Quantified Expression遍歷如有的話一個字的順序和測試含有
//td[2][text()[some $word in ('Word1', 'Word2', 'Word3') satisfies contains(., $word)]]
的matches()功能,並指定你的正則表達式的單詞列表:
//td[2][text()[matches(., 'Word1|Word2|Word3')]]
我得到這個錯誤 - > ** [錯誤]無效的XPath [2]:/ HTML /體/ DIV/div [2]/div/div/div [2]/div/form/div [2]/div/table/tbody/tr [1]/td [2] [text()[contains(。,'FirstLine' )OR包含(。''SecondLine')]] ** - 我寫錯了什麼? – sanjuro8998
嘗試'/td[2][contains(.,'Word1')或包含(。,'Word2')或包含(。''Word3')]' – Utkanos
相同的錯誤 - ** [error]無效的xpath [ 2]:/ html/body/div/div [2]/div/div/div [2]/div/form/div [2]/div/table/tbody/tr [1]/td [2] (。,'FirstLine')或包含(。,'SecondLine')] ** - 是否有我可以檢查以幫助您?我忘了提及,我正在使用Selenium IDE,不知道它如何處理Xpath,如果我們不能使它工作,我可能會問它作爲一個Selenium IDE問題。 – sanjuro8998