//Переходим на страницу сообщества (нужно для демонстрации работы
Tab Tab1 = instance.ActiveTab;
string strTargetURL = "https://vk.com/live";
if (Tab1.URL!=strTargetURL) {
Tab1.Navigate(strTargetURL);
Tab1.WaitDownloading();
}
//Ось ancestor-or-self (предок-или-сам) содержит всех предков контекстного узла, отвечающих заданным условиям. Кроме того, в отличие от оси ancestor в оси ancestor-or-self сам исходный элемент также рассматривается как потенциально целевой
//Пример 1: конструкция ниже вернёт тот же самый div с классом 'page_post_sized_thumbs clear_fix'
project.SendInfoToLog("1. ancestor-or-self: " + Tab1.FindElementsByXPath("//div[starts-with(@class, 'page_post_sized_thumbs')]/ancestor-or-self::div[1]").Count);
//...в отличие от строки выше (с ancestor-or-self) при использовании ancestor будет возвращен родительский div с классом 'page_post_queue_narrow'
project.SendInfoToLog("1. ancestor-or-self: " + Tab1.FindElementsByXPath("//div[starts-with(@class, 'page_post_sized_thumbs')]/ancestor::div[1]").Count);