繁体   English   中英

使用 Selenium python 反复打印店铺名称

[英]Print the shop name repeatedly using 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: block 中移动 print 语句时尝试一下

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
    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM