Ваш первый пример XPath наиболее близок к тому, что вы выбираете table
.Второй пример, если он когда-либо совпадал, выбрал бы tr
- этот не будет работать в основном потому, что, согласно вашему примеру, нужный вам текст находится в узле b
, а не в узле tr
.
Это решение настолько неопределенно, насколько я мог бы сделать, из-за *
.Если целевой текст всегда будет под b
, измените его на descendant::b
:
//table[contains(descendant::*, 'Bill Statement Detail')]
Это так же конкретно, учитывая пример, как я могу сделать:
//table[tr[1]/td/b['Bill Statement Detail']]