python-selenum3 第六天——WebDriver 常用API(一)
阿新 • • 發佈:2018-06-29
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(一)