You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Selenium提取ul下li元素仅返回第一个结果的问题求助

问题根因

你使用的find_element_by_xpath()是单元素匹配方法,仅会返回XPath规则命中的第一个节点,因此只能拿到首个

  • 元素的文本。要获取列表下全部
  • 元素,需要使用多元素匹配的复数方法。

    修正代码(Selenium 3.x版本兼容)
    from selenium import webdriver
    driver = webdriver.Safari()
    
    driver.get("http://turkosb.com/kaynarca-mobilya-ihtisas-organize-sanayi-bolgesi.html")
    
    # 改用多元素匹配方法获取所有li节点,返回结果为列表
    results = driver.find_elements_by_xpath("//ul[@class='firma-info']/li")
    # 遍历输出每个li的文本内容
    for li in results:
        print(li.text)
    
    Selenium 4.0+ 推荐写法

    Selenium 4.0及以上版本已废弃find_element_by_*/find_elements_by_*系列接口,推荐使用统一的find_element/find_elements接口配合By类指定定位方式:

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    
    driver = webdriver.Safari()
    driver.get("http://turkosb.com/kaynarca-mobilya-ihtisas-organize-sanayi-bolgesi.html")
    
    results = driver.find_elements(By.XPATH, "//ul[@class='firma-info']/li")
    for li in results:
        print(li.text)
    

    内容的提问来源于stack exchange,提问作者Kiddanube4

  • 相关产品推荐
    方舟 Agent Plan

    超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

    最近更新时间:2026.10.02 22:45:02