2016-07-27 4 views
1

Gibt es eine Möglichkeit, die Hintergrundfarbe eines Elements in Selenroboterrahmen zu erhalten? Ich bin mit get Attribut versuchen, aber es wird nicht funktionieren und gibt NoneHintergrundfarbe des Elements in Selen/Robotframework

Hier ist der HTML

<li pl-repeat="(slideId, slideContents) in slides" pl-click="viewSlide(slideContents['w-l'].url, slideId)" pl-class="{checked : slideId == viewSlideKey}" class="pl-scope checked"><span class="pl-binding">Draft</span></li> 
+0

Können Sie Ihren HTML-Code teilen ?? –

Antwort

2

Sie es mit Hilfe von Javascript tun return document.defaultView.getComputedStyle(document.getElementByID("ID"),null)['background-color']

wenn es eine Klasse dann gleiche Sache aber document.getElementsByClassName("class-name")[0],null)['background-color']

+0

gearbeitet. Vielen Dank –

3

Obwohl Sie JavaScript verwenden können, um den berechneten Stil zu erhalten, glaube ich, dass die idiomatische Art, den Stil zu bekommen, Seleniums API verwenden würde. Sobald Sie eine webelement Referenz mit Get Webelement erhalten, können Sie die value_of_css_property Methode verwenden, um die Hintergrundfarbe zu erhalten.

Open Browser https://www.stackoverflow.com gc 
${elem} Get Webelement css=.post-tag 
${bg color} Call Method ${elem} value_of_css_property background-color 

Ergebnis: $ {bg color} = rgba (225, 236, 244, 1)

Ein Unterschied, den ich hier in diesem Test festgestellt ist, dass value_of_css_property den RGBA-Wert während getComputedStyle zurück gab nur rgb zurück.

Selenium2LibraryExtension versucht, dies zu erleichtern, indem Element Background Color Should Be implementieren. value_of_css_property wird dort ebenfalls verwendet.

Verwandte Themen