我从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)
答案 0 :(得分:4)
<强>尝试强>:
//label[text()="data"]/following-sibling::div/*[self::input or self::textarea]
每当有很多(超过3个替代方案)时,这样的表达式会相当短:
someExpr/*[contains('|name1|name2|name3|name4|', concat('|',name(), '|'))]