Как нажать на кнопку «Далее», используя selenium или scrapy в python

#python #selenium #web-scraping #scrapy #data-mining

#python #селен #веб-очистка #scrapy #интеллектуальный анализ данных

Вопрос:

Я пытался наскрести кое-какие данные из flipkart.com использование scrapy. Я получил все, кроме перехода на следующую страницу. сначала я попытался использовать scrapy, а затем selenium. на самом деле, класс имеет 2 ссылки для предыдущей страницы и для следующей страницы.

с помощью scrapy: я не могу получить никакого результата. Я получаю пустой вывод.

с selenium: всякий раз, когда я пытаюсь нажать на следующую страницу, она отлично работает со страницы 1 на страницу 2. но затем вместо перехода на 3-ю страницу она возвращается на вторую страницу.

есть ли другой способ сделать это? как я должен различать URL-адреса для предыдущей страницы и следующей страницы?

Комментарии:

1. пожалуйста, поделитесь своим кодом

2. Вы можете изменить номер страницы непосредственно в URL : https://www.flipkart.com/...amp;page=3 .

3. Я бы предложил изменить URL-адрес, как говорит @YevhenKuzmovych (желательно с использованием scrapy), поскольку xpath элементов может меняться каждый раз, когда вы нажимаете next . Путь xpath также может отличаться в зависимости от категории продуктов

4. спасибо @YevhenKuzmovych, это работает…

Ответ №1:

просто добавьте [-1], чтобы драйвер извлекал только последний встречающийся результат для данного класса / идентификатора для flipkart код выглядит следующим образом

 driver.find_elements_by_xpath('//a[@class="_1LKTO3"]')[-1].click()