2016-04-20 3 views
1

Ich muss überprüfen, ob ein bestimmtes Bild auf der Seite mit Selen in Python angezeigt wird. HTML-Code sieht wie folgt aus, wenn das Bild in einer Tabellenzelle angezeigt wird:Wie kann man in Selen überprüfen, ob das Bild auf der Seite angezeigt wird?

<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> 

Wenn das Bild nicht angezeigt wird es wie folgt aussieht:

<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> 

Ich verstehe nicht, wie man diesen Ansatz? Wie überprüfe ich, ob das Bild auf dem Bildschirm angezeigt wird?

+0

Sie haben eine Kontrolle über Klassenattribut zu setzen. Wenn ng-hide im Klassenattribut vorhanden ist, wird das Bild nicht angezeigt und umgekehrt. Siehe meine Antwort unten, um zu verstehen, wie das geht. –

Antwort

0

Um herauszufinden, ob das Bild icon_supported.png mit einem einzigen Anruf verbirgt:

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

Ich war in der Lage, es mit css_selector zu tun und ihm img src und Klasse Parameter zu geben – user3190414

+0

Meine schlechte, änderte ich die 'ng-hide' in eine Klasse anstelle eines Attributs. –

1

Sie müssen Klassenattribut Ihres img-Tags bekommen und müssen dann überprüfen, ob 'ng-hide' darin vorhanden ist oder nicht. Das entscheidet über das Vorhandensein eines Bildes auf dem Bildschirm.

Unten ist der Beispielcode in Python, um die Sichtbarkeit des Bildes auf dem Bildschirm zu überprüfen.

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' 
+0

Ich muss obigen Code in Java konvertieren. Ich versuchte – user3190414

Verwandte Themen