如何从zomato订单页面获取img(src)链接?

ffdz8vbo  于 2021-07-14  发布在  Java
关注(0)|答案(2)|浏览(432)
from selenium import webdriver
from selenium.webdriver.common.by import By
import time

PATH = "/Users/macop/Tools/ChromeDriver/chromedriver"
driver = webdriver.Chrome(PATH)

driver.get("https://www.zomato.com/ncr/dominos-pizza-connaught-place-new-delhi/order")
time.sleep(5)

link = driver.find_element_by_class_name("hppEfq").get_attribute('src')

print(link)

for name in link:
    print(name.text)

driver.quit()

我得到的最后一个错误是:

Message: no such element: Unable to locate element: {"method":"css selector","selector":".hppEfq"}

正在查找该页的src属性的img标记中所有链接的列表。。。

9rnv2umw

9rnv2umw1#

没有类名为的元素 hppEfq 所以我不知道你对什么图片感兴趣。
例如,该页面上的主图像是 (//div[@height='100%']//img)[1]

ippsafx7

ippsafx72#

如前所述,没有类具有该确切的class属性。但是有一个类确实包含了这个。所以你实际上想找到包含 hppEfq .
另外,由于你只说要找到第一个元素,所以不确定你要循环什么。最后,对于要渲染的元素,需要向下滚动。

from selenium.webdriver.common.keys import Keys
from selenium import webdriver
from selenium.webdriver.common.by import By

PATH = "C:/chromedriver_win32/chromedriver.exe"
driver = webdriver.Chrome(PATH)

driver.get("https://www.zomato.com/ncr/dominos-pizza-connaught-place-new-delhi/order")

html = driver.find_element_by_tag_name('html')
html.send_keys(Keys.PAGE_DOWN)

time.sleep(5)

link = driver.find_element_by_css_selector("img[class*='hppEfq']").get_attribute('src')

print(link)

driver.quit()

输出:

https://b.zmtcdn.com/data/dish_photos/a3d/7ca006ec8907c2ae13fd006cf0853a3d.png?output-format=webp&fit=around|130:130&crop=130:130;*,*

相关问题