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

如何使用Selenium Python通过XPath或类名获取网页中所有同class元素

解决获取所有place_box元素的问题

要获取页面上所有class为place_box的元素,你需要使用复数形式的查找方法,而非单个元素的查找方法,以下是几种可行方案:

方法1:使用find_elements_by_class_name(复数形式)

直接将你原代码中的find_element_by_class_name改为复数形式,即可返回所有匹配的元素列表:

elements = driver.find_elements_by_class_name("place_box")

遍历列表即可逐个获取每个元素的信息:

for elem in elements:
    # 获取元素文本内容
    print(elem.text)
    # 若需获取元素属性(比如链接),可使用get_attribute方法
    # print(elem.get_attribute("href"))

方法2:使用XPath查找所有匹配元素

如果之前XPath写法有误,正确的XPath表达式应匹配所有class为place_box的元素,注意同样使用复数的find_elements方法:

from selenium.webdriver.common.by import By

elements = driver.find_elements(By.XPATH, "//*[@class='place_box']")

处理动态加载的情况

如果页面中的place_box元素是动态加载的,需要先等待元素全部加载完成再查找,可结合WebDriverWait实现:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 等待最多10秒,直到所有place_box元素加载完成
wait = WebDriverWait(driver, 10)
elements = wait.until(EC.presence_of_all_elements_located((By.CLASS_NAME, "place_box")))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 05:33:58