Цепочки XPath
Объекты Selector и SelectorList поддерживают цепочки вызовов метода xpath. Это означает, что вы можете применять метод xpath повторно — к результату уже выполненного вызова. Например, если sel — это имя нашего Selector, то
sel.xpath('/html/body/div[2]')
эквивалентно
sel.xpath('/html').xpath('./body/div[2]')
и так же равнозначно
sel.xpath('/html').xpath('./body').xpath('./div[2]')
Единственный нюанс: фрагменты XPath нужно «склеивать» с помощью точки в начале каждой последующей строки XPath (обратите внимание на точки, добавленные в примерах выше).
Это упражнение является частью курса
Веб-скрапинг на Python
Инструкции к упражнению
- Заполните пропуск ниже, чтобы объединить два вызова
xpathв цепочку, результат которой совпадает с
sel.xpath('//div/span/p[3]')
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Chain together xpath methods to select desired p element
sel.xpath( '//div' ).xpath( ____ )