如何在Python中使用selenium迭代项目列表并提取img?

问题描述 投票:0回答:1

我正在尝试使用 Selenium 从网站上抓取数据。该网站包含一个项目列表,每个项目都具有具有特定 data-aut-id 属性的各种属性。我正在使用循环来迭代项目并提取数据,但我遇到了“src”属性在 11 次循环后停止的问题。

这是我的代码,我希望有人能够帮助解决我的问题

url = "https://www.olx.co.id/mobil_c86"
ul_element = driver.find_element(By.CSS_SELECTOR, "ul[data-aut-id='itemsList']")
time.sleep(1)
li_elements = ul_element.find_elements(By.CSS_SELECTOR, "li[data-aut-id='itemBox']")

for li_element in li_elements:
    time.sleep(3)
    try:
        # Extract link
        link_element = li_element.find_element(By.CSS_SELECTOR, "a")
        link = link_element.get_attribute("href")
        links.append(link)
    except NoSuchElementException:
        links.append(None)

    try:
        # Extract image source
        image_element = li_element.find_element(By.CSS_SELECTOR, "img")
        image_source = image_element.get_attribute("src")
        image_sources.append(image_source)
    except NoSuchElementException:
        image_sources.append(None)
 
        # Extract price,year,title,location
python selenium-webdriver web-scraping selenium-chromedriver
1个回答
0
投票

每个 li 元素都有 _1DNjI 类名,因此您可以收集这样的信息。不确定你是否尝试过。

li_elements = driver.find_element(By.CSS_SELECTOR,"_1DNjI a"
© www.soinside.com 2019 - 2024. All rights reserved.