有没有办法在selenium robotframework中获取元素的背景颜色?我尝试使用get属性但它不会工作并返回$&
这是html
None
答案 0 :(得分:3)
虽然您可以使用JavaScript来获取计算出的样式,但我相信获得样式的惯用方法是使用Selenium的API。使用webelement获取Get Webelement引用后,您可以使用value_of_css_property方法获取背景颜色。
Open Browser https://www.stackoverflow.com gc
${elem} Get Webelement css=.post-tag
${bg color} Call Method ${elem} value_of_css_property background-color
结果:$ {bg color} = rgba(225,236,244,1)
我在此测试中注意到的一个区别是value_of_css_property返回了rgba值,而getComputedStyle只返回了rgb。
Selenium2LibraryExtension尝试通过实施Element Background Color Should Be来简化这一过程。那里也使用了value_of_css_property。
答案 1 :(得分:2)
你可以使用javascript来做到这一点
return document.defaultView.getComputedStyle(document.getElementByID("ID"),null)['background-color']
如果它是一个类,那么document.getElementsByClassName("class-name")[0],null)['background-color']