2013-08-07 145 views
1

我打開這個網頁http://www.ebay.com/itm/Apple-iPhone-5-16GB-White-Silver-Factory-Unlocked-/151097083750?pt=Cell_Phones&hash=item232e168766硒ISVISIBLE方法無法正常運行

,並檢查是否爲圖像enter image description here

這裏所提到的藍絲帶是可見的是我的測試

<tr> 
    <td>open</td> 
    <td>/itm/Apple-iPhone-5-16GB-White-Silver-Factory-Unlocked-/151097083750?pt=Cell_Phones&amp;hash=item232e168766</td> 
    <td></td> 
</tr> 
<tr> 
    <td>isVisible</td> 
    <td>//div[@class='vi-notify-msg']</td> 
    <td></td> 
</tr> 

並期待它失敗,但令人驚訝的是它每次都會通過......我在這裏錯過了什麼?

編輯:

我期待測試失敗,因爲色帶需要時間的頁面加載後出現之前色帶visible..so應該失敗正確執行的命令isVisible

+0

我不知道你爲什麼期望它失敗。當我進入該頁面時,我看到一個彈出窗口顯示「每天有25個人訪問此頁面」,並且您的選擇器正在選擇它。 –

+0

@MrTi我編輯了這個問題.. – javanoob

回答

4

如果您查看HTML,那麼在頁面加載時,元素就在那裏。這只是風格的淡入網頁加載完成後,但是從HTML的角度來看,它是「看得見」的整個時間的頁面加載:由於頁面加載

<div id="vi_notification" class="vi-notify-cmp" style="top:25%;"> 
    <div class="vi-notify-container vi-notify-shadow"> 
     <div class="vi-notify-icon vi-notify-icon-img"></div> 
     <div class="vi-notify-msg">28 people are viewing this item per hour.</div> 
     <div class="vi-notify-close"> 
      <button id="vi_notification_cls_btn" class="vi-notify- close-btn">x</button> 
     </div> 
    </div> 
</div> 

只有在它淡出確實的造型變化顯示:無

<div id="vi_notification" class="vi-notify-cmp" style="top: 25%; left: 10px; display: none;"> 
    <div class="vi-notify-container vi-notify-shadow"> 
     <div class="vi-notify-icon vi-notify-icon-img"></div> 
    <div class="vi-notify-msg">28 people are viewing this item per hour.</div> 
    <div class="vi-notify-close"> 
      <button id="vi_notification_cls_btn" class="vi-notify-close-btn">x</button> 
     </div> 
    </div> 
</div> 

如果你看看元素,因爲它加載使用Chrome開發者工具欄,你會看到它是「看得見」,但造型ü pdates慢慢地淡入,所以我們的人眼可以看到它。

這意味着當頁面加載/加載時,元素將按顯示返回。在淡出之後,我希望顯示返回false,因爲父div上的樣式已更改爲display:none。

+0

感謝您的答案,但有什麼方法來測試它會在一段時間後消失嗎? – javanoob

+0

您可以延遲,然後重新測試元素的可見性。所以在頁面加載之後,再等5秒鐘,然後重新測試可見性,這應該返回爲false。 – PocketDews