使用 Selenium 重复打印商店名称 python

Print the shop name repeatedly using Selenium python

因为它打印了所有细节,但问题是重复打印 Master Juice,如下图所示,这是我的 link 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