2016-04-20 8 views
1

特定のイメージがPythonでセレンでページに表示されているかどうかを確認する必要があります。イメージが表のセルに表示されたときにHTMLコードは次のようになります。私はこれにアプローチする方法を理解していないイメージがページに表示されているかどうかをセレンで確認するにはどうすればよいですか?

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

:画像が表示されていないときのように

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

に見えますか?画像が画面に表示されているかどうかを確認するにはどうすればよいですか?

+0

あなたはクラス属性にチェックを入れて持っています。 ng-hideがクラス属性に存在する場合、イメージは表示されず、その逆もあります。それを行う方法を理解するために私の下の答えを参照してください。 –

答えて

0

画像icon_supported.pngは、1回の呼び出しで隠されているかどうかを確認するには:

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

私はcss_selectorでそれを行い、img srcとclass paramatersにそれを与えることができた – user3190414

+0

私の悪い、私は属性の代わりに 'ng-hide'をクラスに変更しました。 –

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

上記のコードをJavaで変換する必要があります。私は試していた – user3190414

関連する問題