Python Selenium WebDriver如何通过CSS选择器提取HTML指定文本
Python Selenium 仅通过CSS选择器提取指定td内文本383的实现方法
目标提取节点特征:右对齐td标签,带指定浅绿背景样式,自定义xpath属性值为1,节点内文本为383加末尾两个不间断空格。
可用CSS选择器
你可以根据页面节点唯一性选择以下任意一种定位写法:
- 精准属性匹配(推荐,辨识度最高):
td[align="right"][xpath="1"] - 结合样式模糊匹配:
td[align="right"][style*="rgb(147, 191, 179)"]说明:CSS选择器中
[属性*=值]为模糊匹配规则,只要属性值包含指定字符串就会命中元素,适合匹配style这类长文本属性。
完整实现代码
from selenium import webdriver from selenium.webdriver.common.by import By # 初始化浏览器驱动,根据实际使用的浏览器替换对应驱动配置 driver = webdriver.Chrome() # 替换为你需要访问的目标页面地址 driver.get("目标页面访问地址") # 通过CSS选择器定位目标td元素 target_element = driver.find_element(By.CSS_SELECTOR, 'td[align="right"][xpath="1"]') # 提取文本并清除前后空白(包含末尾的 不间断空格) result = target_element.text.strip() # 验证输出 print(result) # 输出结果: 383 # 操作完成后关闭浏览器 driver.quit()
关键注意事项
- 原始节点内文本末尾带2个
(对应Unicode字符\u00a0,属于空白字符),直接读取element.text会得到带尾部空格的383,必须调用.strip()方法清除前后所有空白字符,才能得到纯净的目标值383。 - 如果页面中存在多个同属性的td元素,可以在CSS选择器中补充父节点层级约束,进一步缩小定位范围,确保定位到唯一目标节点。
内容的提问来源于stack exchange,提问作者vipin sharma
相关产品推荐
相关产品推荐

