【问题标题】:selenium python getting only first image linkselenium python 只获得第一个图像链接
【发布时间】:2021-08-22 05:34:23
【问题描述】:

这个product 共有五张图片。我正在尝试获取这五个图像链接,但只获得第一个图像链接。这是我的代码:

images = driver.find_elements_by_css_selector('#shopify-section-product-template .Image--lazyLoaded')

for image in images:
    image = image.get_attribute('data-original-src') 

#data-original-src 包含每张图片的链接

【问题讨论】:

    标签: python selenium


    【解决方案1】:

    该页面最初仅加载 1 张图片。
    要获得更多图像,您必须滚动页面。
    因此,无需滚动页面,即可获取图像

    images = driver.find_elements_by_css_selector('#shopify-section-product-template .Image--lazyLoaded')
    

    images 列表中只有 1 个元素。
    UPD
    可以点击左侧点的导航,然后获取图片:

    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    wait = WebDriverWait(driver, 20)
    
    wait.until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".Product__SlideshowNavScroller")))
    time.sleep(0.2)
    dots = driver.find_elements_by_css_selector('.Product__SlideshowNavScroller a')
    image_src = set()
    for dot in dots:
        dot.click()
        time.sleep(1)
        images = driver.find_elements_by_css_selector('#shopify-section-product-template .Image--lazyLoaded')
        for image in images:
            image_src.add(image.get_attribute('data-original-src'))
    

    image_src 最终将包含所有图片的 src 链接

    【讨论】:

      【解决方案2】:

      这里最有可能发生的是图像未渲染。要解决这个问题,只需在调用“find_element”函数之前添加一个将滚动到页面底部的代码 sn-p。

      driver.execute_script("window.scrollTo(0, 990000)") 
      

      【讨论】:

        【解决方案3】:

        你得到它们是因为它们的类不同。 您将获得第一张图片:

        images = driver.find_elements_by_css_selector('#shopify-section-product-template .Image--lazyLoaded')
        

        但要获得其他四个使用:.Image--fadeIn 类

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-07-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-10-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多