webelement對象操作
webelement對象是selenium中所有元素的父類,也就是webelement對象擁有的方法,其它元素對象都會有;
只是不同的對象在調用特定方法時,效果是不一樣的,即:
某些方法只是針對特定元素類型有效,而對其它類型無效。
(1)、clear:清空文本框中的文本,僅僅對有文本輸入特性的元素有效;例如:文本框、多行文本框等;
(2)、click:單擊元素,可以通過該方法,讓元素獲取焦點;
(3)、find_element系列:查找子元素的方法,同瀏覽器的find_element系列方法相同;
(4)、get_attribute:獲取當前元素的特定屬性值,如 name、style等;
(5)、id:表示當前元素在selenium中的唯一標識;
(6)、is_displayed:當前元素是否可見;
(7)、is_enabled:當前元素是否可用;
(8)、is_selected:當前元素是否被選中,通常在checkbox、radiobox、select option等元素上;
(9)、location:返回當前元素的左上角坐標X、Y的位置,即在當前頁面中的絕對位置坐標;
(10)、location_once_scrolled_into_view:返回當前元素第一次滾動到可視區域時的左上角坐標X、Y的位置,使用此方法可以把不在可視區域的元素
滾動到可視區域;
(11)、parent:返回WebDriver對象;
(12)、rect:返回當前元素左上角坐標X、Y值,以及該元素的寬和高,即該元素的顯示區域;
(13)、send_keys:向當前元素發送字符串內容,僅僅對可輸入web元素有效,如文本框、文本區域等;
(14)、size:獲取當前元素的寬和高;
(15)、submit:提交當前元素所在的form表單,相當於單擊所在form表單內的submit;
(16)、tag_name:獲取當前元素的tag name內容,如文本框的值為input;
(17)、text:獲取當前元素的inneerText值,即元素開始標簽和結束標簽之間的文本內容;
(18)、value_of_css_property:獲取當前元素的css屬性,如獲取color的屬性值;
=======================================================================================================
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox() # 指定和打開瀏覽器
url1='http://www.baidu.com'
driver.get(url1) #打開第一個網址 #也可以寫成:driver.get('http://www.baidu.com')
sleep(5)
driver.find_element_by_id('kw').send_keys('中國') #輸入中國
print(driver.find_element_by_id('kw').is_displayed()) #TRUE #是否可見
print(driver.find_element_by_id('kw').is_enabled()) #TRUE #當前元素是否可用
print(driver.find_element_by_id('kw').location) #{'x': 129, 'y': 18} #返回X、Y
print(driver.find_element_by_id('kw').size) #{'height': 22.0, 'width': 494.0} #返回寬和高
print(driver.find_element_by_id('kw').rect) #{'x': 129.0, 'y': 18.0, 'width': 494.0, 'height': 22.0} #返回X、Y,寬和高,即可視區域
# http://www.baidu.com 首頁html源代碼
#
# 輸入框: <input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">
#
# 確定按鈕: <input type="submit" id="su" value="百度一下" class="bg s_btn">
print(driver.find_element_by_id('kw').tag_name) # input
print(driver.find_element_by_id('kw').get_attribute('name')) # wd
print(driver.find_element_by_id('kw').get_attribute('id')) # kw
print(driver.find_element_by_id('kw').get_attribute('class')) # s_ipt
print(driver.find_element_by_id('kw').get_attribute('value')) # 中國
print(driver.find_element_by_id('kw').parent) # <selenium.webdriver.firefox.webdriver.WebDriver (session="ec5c73e4-93ce-4e0a-b74a-26b49b175fda")>
print(driver.find_element_by_id('kw').value_of_css_property('color')) # rgb(0, 0, 0) #獲取當前元素的css屬性,如獲取color的屬性值
driver.quit()