4

セレンから呼び出す次のXPath式があります(技術的には、セレンを呼び出しているsplinterから):

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

この表現を簡単にする方法はありますか?以下は、Selenium では機能しませんが、AquaPath では機能するようです。

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

1 に答える 1

4

試してください

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

多くの場合 (3 つ以上の選択肢がある場合)、次のような式はかなり短くなります。

someExpr/*[contains('|name1|name2|name3|name4|', concat('|',name(), '|'))]
于 2012-12-19T05:46:24.770 に答える