Python selenium根据classname获取文本颜色

都是通过css定位

方法1,直接css定位,然后value_of_css_property('color'),获取颜色之后把转换成16进制,类似#f5222d这样

其中'color'表示文本颜色,背景颜色及其他可自行百度

color = str(driver.find_elements(By.CSS_SELECTOR,  '.ant-form-explain')[7].value_of_css_property('color'))
color_hex = rgba_to_hex(color)
def rgba_to_hex(rgba_color):
    rgba_color = rgba_color.split('rgba')[1].replace('(', '').replace(')', '').replace(' ', '')
    r = hex(int(rgba_color.split(',')[0]))
    g = hex(int(rgba_color.split(',')[1]))
    b = hex(int(rgba_color.split(',')[2]))
    rgb = f'#{str(r)[2:]}{str(g)[2:]}{str(b)[2:]}'
    return rgb

方法2,使用driver.execute_script执行js命令,然后selenium.webdriver.support.color.Color进行转换

ele = driver.find_elements(By.CSS_SELECTOR,  '.ant-form-explain')[7].value_of_css_property('color')
color2 = driver.execute_script(f"return window.getComputedStyle(arguments[0], null).getPropertyValue('color');", ele)
color_hex = Color.from_string(color2).hex

 

posted @ 2024-06-26 10:08  你说夕阳很美  阅读(91)  评论(0)    收藏  举报