如何在Python Playwright中获取元素类名及CSS颜色?
用Python Playwright获取元素类名和CSS颜色属性的正确方法
你之前写的.Class()方法是错误的,Playwright Python API里没有这个方法,下面是正确的实现方式:
- 获取元素类名:使用
get_attribute("class")方法获取元素的class属性值 - 获取CSS颜色属性:通过
evaluate执行浏览器JS,用window.getComputedStyle获取元素最终应用的计算样式(包括继承或样式表定义的颜色)
完整代码示例
from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch() page = browser.new_page() page.goto("你的目标网页URL") # 替换为实际网页地址 # 定位目标元素 target_element = page.locator('xpath=//*[@id="__next"]/div[1]/div/div[2]/div[1]/div[1]/div/div[1]') # 等待元素加载完成,避免报错 target_element.wait_for() # 获取元素类名 class_name = target_element.get_attribute("class") print("元素类名:", class_name) # 获取计算后的文本颜色(color属性) text_color = target_element.evaluate("el => window.getComputedStyle(el).color") print("文本颜色:", text_color) # 获取计算后的背景颜色(background-color属性) bg_color = target_element.evaluate("el => window.getComputedStyle(el).backgroundColor") print("背景颜色:", bg_color) browser.close()
说明
get_attribute("class")直接读取元素标签上的class属性值,返回字符串形式的类名列表window.getComputedStyle(el)会返回元素最终生效的所有CSS样式,能拿到实际显示的颜色,不管颜色是内联样式、CSS类还是继承来的
内容的提问来源于stack exchange,提问作者Mateus Barros
相关产品推荐
相关产品推荐

