如果图像显示在页面上,如何验证硒?

时间:2016-04-20 06:47:31

标签: python selenium-webdriver

我需要验证是否在python中使用selenium在页面上显示特定图像。当图像显示在表格单元格中时,HTML代码如下所示:

<td role="gridcell">
<div style="text-align: center">
<img class="grid-center-image" border="0" ng-show="dataItem.device_protected" src="resources/images/icon_supported.png"/>
</div>
</td>

当图像未显示时,它看起来像:

<td role="gridcell">
<div style="text-align: center">
<img class="grid-center-image ng-hide" border="0" ng-show="dataItem.device_protected" src="resources/images/icon_supported.png"/>
</div>
</td>

我不明白如何处理这个问题?如何验证图像是否出现在屏幕上?

2 个答案:

答案 0 :(得分:1)

您必须获取img标记的class属性,然后必须检查是否存在“ng-hide”。这将决定屏幕上是否存在图像。

下面是python中的示例代码,用于检查屏幕上图像的可见性。

elem = driver.find_element_by_xpath('//your/xpath/to/img/tag')
if 'ng-hide' in elem.get_attribute('class'):
    print 'Image is not visible on screen'
else:
    print 'Image is visible on screen'   

答案 1 :(得分:0)

要查看图片icon_supported.png是否仅通过一次通话隐藏:

if driver.find_elements_by_css_selector("img[src$='icon_supported.png'].ng-hide") :
    print "image hidden"
else :
    print "image displayed"