Wie man eine Farbe von einem web-element mit Selenium WebDriver mit python?
Wie finde ich die hintergrund-Farbe einer webelement im hexadezimal-format? Mit meiner aktuellen selenium webdriver für python-code es ist die Rückgabe der hintergrund-Farbe in RGB-format.
Dies ist das html-element aus, ich bin auf der Suche
div class="bar" style="background-color: #DD514C; background-image: -moz-linear-gradient(center top , #EE5F5B, #C43C35); background-image: -webkit-linear-gradient(top , #EE5F5B, #C43C35); background-image: -ms-linear-gradient(top , #EE5F5B, #C43C35); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#EE5F5B, endColorstr=#C43C35, GradientType=0); background-repeat: repeat-x; color: #ffffff; width: 11.5%"
Meine webdriver für python-code ist:
find_element_by_class_name("bar").get_attribute("style")
Es ist die Rückkehr der Stil mit den Farben im rgb-format. Ich möchte ausdrücklich bekommen die hintergrund-Farbe im hexadezimal-format, so dass ich es vergleichen kann mit meiner erwarteten Wert. Ich bekomme die folgende Ausgabe jetzt:
background-color: rgb(221, 81, 76); background-image: -moz-linear-gradient(center top , rgb(238, 95, 91), rgb(196, 60, 53)); background-repeat: repeat-x; color: rgb(255, 255, 255); width: 11.5%;
- Ich fand eine Menge von Lösungen, mit getCssValue für Java? Was ist das python äquivalent getCssValue?
- Das python-äquivalent-element.value_of_css_property('background-color'). Aber es nicht zurück hexadezimal (die Java nicht, entweder: code.google.com/p/selenium/source/browse/java/client/src/org/...). unutbu Antwort geben Sie hexadezimal.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du suchst
value_of_css_property('background-color')
:Jedoch, dies wird den string
rgb(221, 81, 76)
. Um den hex-Wert haben, können Sie mit @unutbu Antwort:Und Ihre hex -
color
ist der string#dd514c
.Als das format der Rückgabe entspricht einem Tupel dieser erreichbar ist, ohne mit "re", wo die Rückkehr ist ein 'par' string:
Wo der string " rgb " einfach weglassen, das "alpha"
Da die Original-Frage war, hob die bevorzugte Methode ist die Verwendung Selen-color-Unterstützung-Modul:
Einer einfachen Anleitung ist hier
Erträge
Konvertieren Farbe, können Sie direkt verwenden, Selen Farbe Klasse:
Selen docs