Ответ 1
Основной факт, который вам нужен, это то, что предикаты могут быть вложены: -
//*[@id='outer']/div/div/div/div[a[@href='www.blah.com']]
Как вы выбираете родителя на основе атрибута дочернего элемента?
Я хочу выбрать div:
//*[@id='outer']/div/div/div/div
у которого есть дочерний элемент с атрибутом 'a href', равным 'www.blah.com':
//*[@id='outer']/div/div/div/div/a[@href='www.blah.com']
Основной факт, который вам нужен, это то, что предикаты могут быть вложены: -
//*[@id='outer']/div/div/div/div[a[@href='www.blah.com']]
//*[@id='outer']/div/div/div/div/a[@href='www.blah.com']/../