Selenium:匹配动态div的内容

时间:2011-08-11 18:25:52

标签: selenium

我有一个动态的div。它的id是“logo”,它实际上包含基于我使用的URL的不同徽标。例如: -

<div id="header-container"> 
  <div id="header"> 
    <a href="/demo/"><div id="logo"></div></a> 

header.css文件包含详细的徽标div

#logo {
width: 315px;
height: 88px;
background: url('/media/images/qt/Butto_qt.png') no-repeat -1339px 0px;
position: absolute;
left: 0;
}

我可以调用点击xpath

"//div[@id='header-container']/div[@id='header']/a/div[@id='logo']" . 

但是,我想弄清楚的是如何验证网址是否包含“Butto_qt.png”?如果有可能,我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用一些Javascript:

来完成此操作
window.getComputedStyle(document.getElementById('hlogo').childNodes[1]).backgroundImage

这应该适用于现代浏览器。

使用selenium,您将使用assertEval方法。例如,如果您使用的是PHPUnit Selenium扩展:

$this->assertEval("window.getComputedStyle(document.getElementById('hlogo').childNodes[1]).backgroundImage",'Butto_qt.png');