如何在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 上使用 selenium 或 beautifulsoup 从带有链接的页面中抓取数据,没有类,没有 id