如何使用Python和Selenium获取jsname为bN97Pc的span元素
Python + Selenium 定位指定span元素的实现方案
前置依赖导入
首先导入Selenium的定位工具类:
from selenium.webdriver.common.by import By
核心定位方法
两种常用的定位写法都可以实现需求:
- CSS选择器写法(更简洁,性能更好)
target_span = driver.find_element(By.CSS_SELECTOR, 'span[jsname="bN97Pc"]') - XPath选择器写法
target_span = driver.find_element(By.XPATH, '//span[@jsname="bN97Pc"]')
如果页面存在多个符合条件的span元素,将find_element替换为find_elements即可,返回结果为所有匹配元素的列表。
动态渲染场景适配
如果目标元素是页面加载完成后动态生成的,建议增加显式等待,避免因元素未加载完成导致的定位失败:
# 导入等待相关依赖 from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 最长等待10秒,直到目标元素出现在DOM中 wait = WebDriverWait(driver, 10) target_span = wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, 'span[jsname="bN97Pc"]')))
元素内容获取
拿到元素对象后可以按需提取信息:
- 获取元素文本内容:
span_text = target_span.text - 获取元素其他属性值:
attr_value = target_span.get_attribute('你需要的属性名')
内容的提问来源于stack exchange,提问作者data_runner
相关产品推荐
相关产品推荐

