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

浙公网安备 33010602011771号