Ваша разметка выглядит недействительной (в ней отсутствуют некоторые закрывающие теги) и местами выглядит слишком запутанной (многослойные теги <span>
).
Однако это должно делать то, что вы хотите, если я понял вашутребования правильно.
//div[@class="file-info"][./descendant-or-self::span[@class="block-diff-neutral"]]/a
, если диапазон с отсутствующим закрывающим тегом на самом деле является родительским для якоря, это было бы лучше:
//div[@class="file-info"][./descendant-or-self::span[@class="block-diff-neutral"]]/descendant-or-self::a
Это позволит найти div с классомfile-info
, имеющий потомок <span>
с классом block-diff-neutral
, а затем найдите привязку внутри этого div
элемента.
Чтобы получить атрибут title из WebElement, который вы найдете с этим XPathвам нужно будет использовать .getAttribute("title")