首页 > 解决方案 > 如何使用机器人框架从元素中获取十六进制格式的背景颜色

问题描述

我尝试这种方式并使用 SeleniumLibrary 并使用 Python 2.7.16

    ${elements}    Get Webelement    (//div[@class="slds-col call-scripticon"])[1]
    ${bg color}    Call Method    ${elements}    value_of_css_property    background-color

但我得到了 rgb(36, 6, 66) 我不知道如何获取 #240642 格式的颜色

HTML

<div class="slds-col call-scripticon" data-aura-rendered-by="2:7200;a" xpath="1"></div>

风格

    element.style {
}
.call-scripticon {
   background-color: #240642;
}

请任何人帮助我。

标签: hexrobotframeworkrgb

解决方案


您可以在 python 中创建一个关键字,将颜色从 RGB 转换为 HEX。

假设您创建了一个名为 testLibrary.py 的模块,您将在其中创建更改颜色格式的 python 方法:

def transform_RGB_to_HEX(arg1):
    hex_result = "".join([format(val, '02X') for val in arg1])
    return hex_result

您现在唯一需要做的就是在您的机器人文件中导入测试库并调用关键字,就像您对已经存在的库所做的那样。

*** Settings ***
| Library | MyLibrary.py

*** Test Cases ***
| Example that get color in format RGB and transform it into HEX
|  ${elements}  |  Get Webelement  |  (//div[@class="slds-col call-scripticon"])[1]
|  ${bg color}  |  Call Method     |  ${elements}        |   value_of_css_property    | background-color 
|  ${hex_color} |  transform RGB to HEX |  ${bg color}


推荐阅读