4

我有以下从 selenium 调用的 XPath 表达式(从技术上讲,来自 splinter,它调用 selenium):

//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 回答