python - 使用 Selenium python 重复打印店铺名称
问题描述
因为它打印了所有细节,但问题是重复打印 Master Juice 如下图所示,这是我的链接https://www.foodpanda.pk/restaurants/new?lat=24.9414896&lng=67.1676002&vertical=restaurants从我刮的地方
from selenium import webdriver
driver = webdriver.Chrome('F:/chromedriver')
driver.get("https://www.foodpanda.pk/restaurants/new?lat=24.9414896&lng=67.1676002&vertical=restaurants")
# response = scrapy.Selector(text=driver.page_source)
list = driver.find_elements_by_css_selector("ul.vendor-list li")
length = len(driver.find_elements_by_css_selector("ul.vendor-list li"))
for i in range(length):
try:
name = driver.find_elements_by_css_selector(".headline .name")[i].text
time = driver.find_elements_by_css_selector(".badge-info")[i].text.strip()
rating = driver.find_elements_by_css_selector(".rating")[i].text
dealtag = driver.find_elements_by_css_selector(".multi-tag")[i].text
except:
pass
print(name,time,rating,dealtag)
解决方案
这是因为即使出现错误,它每次都会打印,打印之前存储在您的姓名、时间等变量中的任何内容。try:
当你在你的块中移动你的打印语句时尝试它
from selenium import webdriver
driver = webdriver.Chrome('F:/chromedriver')
driver.get("https://www.foodpanda.pk/restaurants/new?lat=24.9414896&lng=67.1676002&vertical=restaurants")
# response = scrapy.Selector(text=driver.page_source)
list = driver.find_elements_by_css_selector("ul.vendor-list li")
length = len(driver.find_elements_by_css_selector("ul.vendor-list li"))
for i in range(length):
try:
name = driver.find_elements_by_css_selector(".headline .name")[i].text
time = driver.find_elements_by_css_selector(".badge-info")[i].text.strip()
rating = driver.find_elements_by_css_selector(".rating")[i].text
dealtag = driver.find_elements_by_css_selector(".multi-tag")[i].text
print(name,time,rating,dealtag)
except:
pass
推荐阅读
- node.js - 当响应来自微服务时,GraphQL 如何处理错误消息
- json - 使用使用 Angular 6 的服务将 JSON 文件从一个组件传递到另一个组件
- ios - 带有图像和复选标记的 iOS 自定义 TableView
- binary - 二进制数的一补和二补
- mysql - 如何在 jdbc 中仅遍历一次 mysql 表以构建计数图?
- java - 将文件从设备发送到计算机不起作用(文件损坏)
- ruby - Ruby on Rails 项目,遇到语法错误,看不到我缺少什么
- python - 如何在 pd.bdate_range 中使用非自定义频率和 pandas 模块中的假日参数?
- python - 使用 boto 中增加的房间卷大小创建 AWS ami 的正确语法是什么?
- excel - 将 Illustrator 文件转换/导入 Excel