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

Python使用Selenium如何提取元素style属性中的rotate角度值

Selenium提取style属性中rotate旋转角度的实现方案

直接按以下两步操作即可精准提取到你需要的风向角度值,无需额外依赖第三方库:

  • 第一步:在已定位到的detail-data-table表格范围内缩小查找范围,定位所有风向对应的div元素,避免匹配页面其他无关元素
  • 第二步:读取每个div的style属性值,用正则表达式匹配提取rotate(xxxdeg)格式的角度参数

具体实现代码

import re
from selenium.webdriver.common.by import By

# 已定位到的目标气象数据表格
detail_table = driver.find_element(By.ID, "detail-data-table")
# 定位表格内所有带rotate样式的风向div
wind_direction_divs = detail_table.find_elements(By.CSS_SELECTOR, "div[style*='rotate']")

wind_angle_list = []
for div in wind_direction_divs:
    style_content = div.get_attribute("style")
    # 正则兼容空格、换行、webkit前缀的写法,精准捕获角度值
    match_result = re.search(r"rotate\s*\(\s*(\d+deg)\s*\)", style_content)
    if match_result:
        # 输出结果为类似126deg的格式,需要纯数字可通过int(match_result.group(1).strip('deg'))转换
        wind_angle = match_result.group(1)
        wind_angle_list.append(wind_angle)

注意事项

  • 正则表达式中加入的\s*匹配符,是为了兼容style属性换行、属性名和括号之间存在空格的写法,不会出现漏匹配
  • 表格内的风向div和你之前抓取的日期、风速等数据行顺序完全对应,直接按遍历顺序把角度值拼接到对应行的数据集里即可,不会出现顺序错乱
  • 该方法不需要额外解析CSS样式表,直接读取元素行内style属性做匹配,执行效率更高,也不会受页面动态加载样式的影响

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 05:36:34