我需要验证是否在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>
我不明白如何处理这个问题?如何验证图像是否出现在屏幕上?
答案 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"