如何在python中使用selenium或scrapy单击“下一步”按钮

Posted

技术标签:

【中文标题】如何在python中使用selenium或scrapy单击“下一步”按钮【英文标题】:How to click on "next" button using selenium or scrapy in python 【发布时间】:2021-05-13 09:26:36 【问题描述】:

我试图使用 scrapy 从 Flipkart.com 抓取一些数据。 除了转到下一页之外,我得到了所有内容。 首先我尝试使用scrapy,然后是selenium。 实际上,一个类有上一页和下一页的 2 个链接。

使用scrapy: 我无法获取任何结果。我得到的是空白输出。

与硒: 每当我尝试单击下一页时,它从第 1 页到第 2 页都可以正常工作。 但随后它没有进入第 3 页,而是回到了第 2 页。

还有其他方法可以做到这一点吗? 如何区分上一页和下一页的网址?

【问题讨论】:

请分享您的代码 可以直接在网址中更改页码:https://www.flipkart.com/...&page=3 我建议像@YevhenKuzmovych 所说的那样更改URL(最好使用scrapy),因为每次单击下一步时元素的xpath 可能会发生变化。 xpath 也可能因产品类别而异 感谢@YevhenKuzmovych 它正在工作...... 【参考方案1】:

只需附加 [-1] 以便驱动程序仅获取给定类/ID 的最后出现的结果 对于flipkart,代码如下

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

【讨论】:

以上是关于如何在python中使用selenium或scrapy单击“下一步”按钮的主要内容,如果未能解决你的问题,请参考以下文章