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

  1. 獲取元素基本信息

  2. 獲取文本內容

  3. 判斷是否可見

  4. 判斷是否可操作

  5. 獲取元素的屬性

  6. 獲取元素CSS的值

  7. 清空內容

  8. 輸入內容

  9. 單機

  10. 雙擊




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是鼠標操作的包,比如雙擊、懸浮、拖拽等

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章