Wie erhält man eine Farbe eines Web-Elements mit Selenium WebDriver mit Python?

8

Wie finde ich die Hintergrundfarbe eines Webelements im hexadezimalen Format? Mit meinem aktuellen Selen-Webdriver-Python-Code gibt es die Hintergrundfarbe im RGB-Format zurück.

Dies ist das HTML-Element, auf das ich mich besinne

%Vor%

Mein Webdriver-Python-Code lautet:

%Vor%

Es gibt den Stil mit den Farben im RGB-Format zurück. Ich möchte die Hintergrundfarbe speziell im hexadezimalen Format erhalten, damit ich sie mit meinem erwarteten Wert vergleichen kann. Ich bekomme jetzt folgende Ausgabe:

%Vor%     
nids 27.02.2013, 00:54
quelle

3 Antworten

10

Sie suchen nach value_of_css_property('background-color') :

%Vor%

Dies gibt jedoch die Zeichenfolge rgb(221, 81, 76) zurück. Um den hexadezimalen Wert zu erhalten, können Sie @ unutbus Antwort verwenden:

%Vor%

Und Ihr hex color ist die Zeichenkette #dd514c .

    
Carlos V 27.02.2013 16:53
quelle
2

Da das Format der Rückgabe mit einem Tupel übereinstimmt, ist dies möglich, ohne 're' zu verwenden, wobei die Rückgabe eine 'rgba' Zeichenkette ist:

%Vor%

Wo die Zeichenfolge "rgb" ist, lassen Sie einfach das "alpha"

weg %Vor%

Da die ursprüngliche Frage aufgeworfen wurde, ist jetzt die bevorzugte Methode, das Selenfarb-Unterstützungsmodul zu verwenden:

Eine einfache Anleitung ist hier

    
PythonTester 04.03.2015 13:54
quelle
0
%Vor%

ergibt

%Vor%     
unutbu 27.02.2013 02:22
quelle