2012-12-19 78 views
3

我已經得到了下面的XPath表達式,我從硒調用(在技術上,從分裂,這是調用硒)使用XPath表達式:簡化硒

//label[text()="data"]/following-sibling::div/input|//label[text()="data"]/following-sibling::div/textarea 

有沒有一種方法來簡化這個表達式?下列情況不硒工作,儘管它似乎在AquaPath工作:

//label[text()="data"]/following-sibling::div/(input|textarea) 
+0

你可以向我們展示你的html代碼嗎? –

+0

洛林,我的回答對你有用嗎?還是你還有什麼問題?我剛剛進行了更新,展示瞭如何在有大量替代方案時編寫緊湊表達式。 –

+0

@DimitreNovatchev是的,它很有用。就我而言,我只有兩種選擇,所以最初的解決方案運作良好。 –

回答

3

嘗試

//label[text()="data"]/following-sibling::div/*[self::input or self::textarea] 

每當有很多(超過3個備選方案),如表達式這是短得多:

someExpr/*[contains('|name1|name2|name3|name4|', concat('|',name(), '|'))]