如何使用 Robot Framework 从元素中获取十六进制格式的背景颜色

How to get background-color in hex format from element using Robot Framework

我尝试这种方式并使用 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;
}

谁能帮帮我

您可以在 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}