Вы не можете получить XPath этого тега программно с кодом, который у вас есть. На самом деле вам придется создавать XPath самостоятельно. Однако это должно быть тривиально, если вы используете HTML Agility Pack .
Пакет HTML Agility позволяет загружать документ HTML (который обычно НЕ является правильно сформированным XML), как если бы он был правильно сформированным XML, и использовать к нему запросы XPath. Затем вы можете загрузить документ в Agility Pack HTML, выполнить программный поиск узла (например, с помощью XPath для поиска элементов, содержащих определенную строку), а затем, когда у вас будет узел из поиска, вы можете создать XPath, пройдя через каждого родителя.
Так что в целом:
Считывание узла по щелчку мыши, дает -
<li>Black Tea</li>
Разбор содержимого и имени узла - дает
Contents = Black Tea, Name = li
Запрос сборки XPath:
//Name[contains(., Contents)]
(в данном случае // li (., «Черный чай»))
Обход каждого родителя для построения запроса xpath дает - ul / li, затем li / ul / li, затем ul / li / ul / li, затем body / ul / li / ul / li и, наконец, -
html/body/ul/li/ul/li
Таким образом, ключевым моментом здесь является получение документа доступным способом через HTML Agility Pack, создание общего запроса для получения узла, а затем создание полного запроса из узла.
Помогает ли это?