如何在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单击“下一步”按钮的主要内容,如果未能解决你的问题,请参考以下文章

如何在 python/java 中使用 Selenium 访问 Chrome 的开发工具网络选项卡的请求或摘要的值?

如何使用 Selenium 和 Python 选择下拉菜单项(值或文本)? [复制]

Python爬虫

在 python 上使用 selenium 或 beautifulsoup 从带有链接的页面中抓取数据,没有类,没有 id

在带有 selenium 的 python 中,如何轮换 IP 地址?

如何使用 Selenium 和 Python 从文本节点中检索部分文本