我希望使用python-webdriver根据它的背景突出显示颜色来选择元素。通常,这一点html:
<div class="line-highlight" style="background:#FD71B5;">
我会选择它执行以下操作:
.line-highlight[style*='background:#FD71B5']
但是,在这种情况下,我有不同的内联样式:
<div class="line-highlight" style=top:130px;height:28px;left:506px;width:434px;">
但高亮颜色(相同)是在外部CSS中设置的,因此上面的选择器似乎不起作用。
如果该样式不是内联的,那么webdriver是否可以按样式选择?
谢谢, 达伦
答案 0 :(得分:1)
因为您要查找的css不是HTML标记的一部分,所以您不能像通常那样选择元素。
而是尝试通过类名“.line-highlight”进行选择,然后遍历生成的元素对象,并为每个元素使用以下内容获取css background属性值:
value_of_css_property("background")
(或任何css属性)。一旦元素与背景相匹配,你就会想要从循环和tada中找到你想要的元素。
请注意,如果您正在使用Java:
getCssValue(property-name)
答案 1 :(得分:0)
此链接http://www.w3.org/2002/07/26-dom-article.html说明了风格。
访问与文档相关的样式
文档中的每个节点都与风格效果相关联,如颜色,位置和
边界。这些风格效果并不总是文档的一部分,可能会在文档中定义
一个名为样式表的单独部分。
因为Selenium只使用DOM,它无法找到你想要的元素。