selenium常用的API(七)判斷元素是否可見


web頁面不可見的元素雖不在頁面上顯示,但是存在於DOM樹中,這些元素webdriver也能找到。

element.is_displayed()方法可以判斷元素是否在頁面上顯示,如果顯示返回True,否則返回False。

用於測試的HTML代碼:

<html> 
<head> 
<title>HTML中顯示與隱藏元素</title> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript"> 
    function showAndHidden1(){ 
        var div1=document.getElementById("div1"); 
        var div2=document.getElementById("div2"); 
        if(div1.style.display=='block') div1.style.display='none'; 
        else div1.style.display='block'; 
        if(div2.style.display=='block') div2.style.display='none'; 
        else div2.style.display='block'; 
    } 
    function showAndHidden2(){ 
        var div3=document.getElementById("div3"); 
        var div4=document.getElementById("div4"); 
        if(div3.style.visibility=='visible') div3.style.visibility='hidden'; 
        else div3.style.visibility='visible'; 
        if(div4.style.visibility=='visible') div4.style.visibility='hidden'; 
        else div4.style.visibility='visible'; 
    } 
</script> 
</head> 
<body> 
    <div>display:元素不占用頁面位置</div> 
    <div id="div1" style="display:block;">DIV 1</div> 
    <div id="div2" style="display:none;">DIV 2</div> 
    <input id="button1" type="button" onclick="showAndHidden1();" value="DIV切換" /> 
    <hr> 
    <div>visibility:元素占用頁面位置</div> 
    <div id="div3" style="visibility:visible;">DIV 3</div> 
    <div id="div4" style="visibility:hidden;">DIV 4</div> 
    <input id="button2" type="button" onclick="showAndHidden2();" value="DIV切換" /> 
</body> 
</html>

調用API的代碼

# encoding=utf-8
import unittest
import time
from selenium import webdriver

class VisitUrl(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome(executable_path="e:\\chromedriver")

    def test_getWebElementIsDisplayed(self):
        # 訪問自定義的html網頁
        self.driver.get( "http://127.0.0.1/test_visible.html")
        # 通過id="div2"找到第二個div元素
        div2 = self.driver.find_element_by_id("div2")
        # 判斷第二個div元素是否在頁面上可見
        print div2.is_displayed()

        # 點擊第一個切換div按鈕,將第二個div顯示在頁面上
        self.driver.find_element_by_id("button1").click()
        # 再次判斷第二個div元素是否可見
        print div2.is_displayed()

        # 通過id="div4"找到第四個div元素
        div4 = self.driver.find_element_by_id("div4")
        # 判斷第四個div元素是否在頁面上可見
        print div4.is_displayed()

    def tearDown(self):
        self.driver.quit()

if __name__ == '__main__':
    unittest.main()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM