Ланцюжіння 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( ____ )