**************************************************************************************************web
通常來講,全部有趣的操做與頁面交互都將經過WebElement 接口,包括上一節中介紹的對象定位,
以及本節中須要介紹的常對象操做。
webdriver 中比較經常使用的操做元素的方法有下面幾個:學習
例如:測試
driver.find_element_by_id("user_name").clear() driver.find_element_by_id("user_name").send_keys("username") driver.find_element_by_id("user_pwd").clear() driver.find_element_by_id("user_pwd").send_keys("password") driver.find_element_by_id("dl_an_submit").click() #經過submit() 來提交操做 #driver.find_element_by_id("dl_an_submit").submit()
一、WebElement 接口經常使用方法spa
WebElement 接口除了咱們前面介紹的方法外,它還包含了別一些有用的方法。下面,咱們例舉例幾
個比較有用的方法。orm
例如:對象
size=driver.find_element_by_id("kw").size#返回百度輸入框的寬高 text=driver.find_element_by_id("cp").text #返回百度頁面底部備案信息 #返回元素的屬性值,能夠是id、name、type 或元素擁有的其它任意屬性 attribute=driver.find_element_by_id("kw").get_attribute('type') #返回元素的結果是否可見,返回結果爲True 或False result=driver.find_element_by_id("kw").is_displayed()
**************************************************************************************************接口
前面例子中咱們已經學習到能夠用 click()來模擬鼠標的單擊操做,而咱們在實際的 web 產品測試中發現,有關鼠標的操做,不僅僅只有單擊,有時候還要和到右擊,雙擊,拖動等操做,這些操做包含在ActionChains 類中。
ActionChains 類鼠標操做的經常使用方法:事件
一、右擊操做element
#引入 ActionChains 類 from selenium.webdriver.common.action_chains import ActionChains ... #定位到要右擊的元素 right =driver.find_element_by_xpath("xx") #對定位到的元素執行鼠標右鍵操做 ActionChains(driver).context_click(right).perform()
ActionChains 用於生成用戶的行爲;全部的行爲都存儲在 actionchains 對象中。經過 perform()執行存儲的行爲。
get
二、鼠標雙擊操做
#引入 ActionChains 類 from selenium.webdriver.common.action_chains import ActionChains ... #定位到要雙擊的元素 double =driver.find_element_by_xpath("xxx") #對定位到的元素執行鼠標雙擊操做 ActionChains(driver).double_click(double).perform()
三、鼠標拖放操做
drag_and_drop(source, target)
在源元素上按下鼠標左鍵,而後移動到目標元素上釋放。
source: 鼠標按下的源元素。
target: 鼠標釋放的目標元素。
#引入 ActionChains 類 from selenium.webdriver.common.action_chains import ActionChains ... #定位元素的原位置 element = driver.find_element_by_name("xxx") #定位元素要移動到的目標位置 target = driver.find_element_by_name("xxx") #執行元素的移動操做 ActionChains(driver).drag_and_drop(element, target).perform()
四、鼠標移動上元素上
#引入 ActionChains 類 from selenium.webdriver.common.action_chains import ActionChains ... #定位到鼠標移動到上面的元素 above = driver.find_element_by_xpath("xxx") #對定位到的元素執行鼠標移動到上面的操做 ActionChains(driver).move_to_element(above).perform()
五、按下鼠標左鍵
#引入 ActionChains 類 from selenium.webdriver.common.action_chains import ActionChains ... #定位到鼠標按下左鍵的元素 left=driver.find_element_by_xpath("xxx") #對定位到的元素執行鼠標左鍵按下的操做 ActionChains(driver).click_and_hold(left).perform()
**************************************************************************************************
from selenium.webdriver.common.keys import Keys #在使用鍵盤按鍵方法前須要先導入 keys 類包。
下面常常使用到的鍵盤操做:
**************************************************************************************************