Адрес XPath недостаточно подробный - PullRequest
2 голосов
/ 13 марта 2019

Я работаю над простым проектом (в большей степени упражнением в веб-разработке, чем чем-либо) и столкнулся с проблемой довольно рано. Для контекста я пытаюсь назвать имена тридцати самых продаваемых продуктов Amazon для нескольких различных категорий. Вместо обычного веб-скребка я использую формулу листов Google =importXML(). Эта формула принимает веб-сайт и местоположение XPath.

Вот пример веб-страницы: https://www.amazon.com/Best-Sellers-Beauty/zgbs/beauty/ref=zg_bs_nav_0

Я пробежался по инспектору и обнаружил, что это большой упорядоченный список предметов, после еще одного поиска я подумал, что нашел название продукта и щелкнул правой кнопкой мыши> Копировать> Копировать XPath.

Это был скопированный XPath: //*[@id="zg-ordered-list"]/li[1]/span/div/span/a/div

Я ввел это в гугл лист, и он вернул # N / A, и это неудивительно, потому что когда я вошел в консоль Chome и набрал: $x('//*[@id="zg-ordered-list"]/li[1]/span/div/span/a/div') Я получил довольно большой объект.

Если бы кто-нибудь мог мне помочь и указать правильное местоположение XPath, я был бы очень признателен.

1 Ответ

0 голосов
/ 13 марта 2019

Вы должны использовать string, чтобы получить текст.

'string(xpath)'

хромированная консоль:

$x('string(//*[@id="zg-ordered-list"]/li[1]/span/div/span/a/div)')

Выход:

Philips Sonicare Diamond Clean Classic Rechargeable 5 brushing modes, Electric…
...