1. 程式人生 > >python-selenum3 第六天——WebDriver 常用API(一)

python-selenum3 第六天——WebDriver 常用API(一)

enum send tool enabled web end PE baidu AI

  • 獲取元素基本信息

  • 獲取文本內容

  • 判斷是否可見

  • 判斷是否可操作

  • 獲取元素的屬性

  • 獲取元素CSS的值

  • 清空內容

  • 輸入內容

  • 單機

  • 雙擊




  • 1. 獲取元素基本信息

    from selenium import webdriver
    
    driver = webdriver.Firefox(executable_path = "d:\\geckodriver")
    URL = "https://www.baidu.com"
    driver.get(URL)
    element = driver.find_element_by_xpath("//a[text() = '新聞']")
    #獲取查找到的"新聞"鏈接元素的基本信息
    print(u"元素的標簽名:",element.tag_name)
    print(u"元素的size:",element.size)




    2. 獲取頁面元素的文本內容

    driver = webdriver.Firefox(executable_path="d:\\geckodriver")
    driver.get("https://www.baidu.com")
    element = driver.find_element_by_xpath("//*[@class='mnav'][1]")
    text = element.text
    print(text)
    #下面的驗證是unittest框架的斷言,如果沒有可以先註釋掉
    assertEqual(text,u"新聞")


    3. 判斷頁面元素是否可見

    driver = webdriver.Firefox(executable_path="d:\\geckodriver")
    driver.get("https://www.baidu.com")
    #定位其中一個元素
    element = driver.find_element_by_id("su")
    #判斷是否可見,最終結果不是True就是False
    print(element.is_displayed())




    4.判斷元素是否可操作

    driver = webdriver.Firefox(executable_path="d:\\geckodriver")
    driver.get("https://www.baidu.com")
    #定位其中一個元素
    element = driver.find_element_by_id("su")
    #判斷是否可操作,最終結果不是True就是False
    #如果HTML中元素添加disabled屬性將處於補課操作狀態
    print(element.is_enabled())




    5.獲取頁面元素的屬性

    driver = webdriver.Firefox(executable_path="d:\\geckodriver")
    driver.get("https://www.baidu.com")
    #定位輸入框元素
    element = driver.find_element_by_id("kw")
    #顯示元素的name屬性值,獲取為wd
    print(element.get_attribute("name"))
    #輸入內容
    element.send_keys(u"python")
    #獲取輸入的內容 獲取為python
    print(element.get_attribute("value"))




    6.獲取頁面元素的CSS屬性值

    driver = webdriver.Firefox(executable_path="d:\\geckodriver")
    driver.get("https://www.baidu.com")
    #定位其中一個元素
    element = driver.find_element_by_id("kw")
    #使用value_of_css_property()獲取css屬性值 高22px 寬500px 
    print(u"搜索框的高度:",element.value_of_css_property("height"))
    print(u"搜索框的寬度:",element.value_of_css_property("width"))
    #獲取字體,字體為arial
    ziti = element.value_of_css_property("font-family")
    print(u"搜索框的字體是:",ziti)
    #unittest斷言
    assertEqual(ziti,"arial")




    7.清空輸入的內容

    driver = webdriver.Firefox(executable_path="d:\\geckodriver")
    URL = "https://www.baidu.com"
    driver.get(URL)
    #輸入
    element = driver.find_element_by_id("kw")
    element.send_keys(u"python")
    #清空
    element.clear()




    8.輸入

    driver = webdriver.Firefox(executable_path="d:\\geckodriver")
    URL = "https://www.baidu.com"
    driver.get(URL)
    #定位
    element = driver.find_element_by_id("kw")
    #清空原有內容
    element.clear()
    #輸入新內容
    element.send_keys(u"python")




    9.點擊

    driver = webdriver.Firefox(executable_path="d:\\geckodriver")
    URL = "https://www.baidu.com"
    driver.get(URL)
    #輸入內容
    input = driver.find_element_by_id("kw")
    input.send_keys(u"輸入python")
    #點擊
    button = driver.find_element_by_id("su")
    button.click()




    10.雙擊

    <!--練習的html-->
    <html>
        <body>
            <input id='inputBox' type="text" ondblclick="javascript:this.style.background='red'">請雙擊</>
        </body>
    </html>
    driver = webdriver.Firefox(executable_path="d:\\geckodriver")
    url = "file:///D:/test.html"
    driver.get(url)
    #獲取輸入元素
    element = driver.find_element_by_id("inputBox")
    #導入需要的操作包
    from selenium.webdriver import ActionChains
    #開始模擬鼠標雙擊操作
    shuangji = ActionChains(driver)
    shuangji.double_click(element).perform()


    說明:ActionChains是鼠標操作的包,比如雙擊、懸浮、拖拽等

    python-selenum3 第六天——WebDriver 常用API(一)