前言
在前面的幾篇中重點介紹了一些元素的到位方法,到位到元素后,接下來就是需要操作元素了。
本篇總結了web頁面常用的一些操作元素方法,可以統稱為行為事件
有些web界面的選項菜單需要鼠標懸停在某個元素上才能顯示出來(如百度頁面的設置按鈕)。
一、簡單操作
1.點擊(鼠標左鍵)頁面按鈕:click()
2.請空輸入框:clear()
3.輸入字符串:send_keys()
4.打開測試部落論壇后,點擊放大鏡搜索圖標,一般為了保證輸入的正確性,可以先清空下輸入框,然后輸入搜索關鍵字

二、submit提交表單
1.在前面百度搜索案例中,輸入關鍵字后,可以直接按回車鍵搜索,也可以點搜索按鈕搜索。
2.submit()一般用於模擬回車鍵

3.但是論壇的搜索,如果用submit的話,會報錯,可是又沒有搜索點擊按鈕,怎么辦呢?
三、鍵盤操作
1.selenium提供了一整套的模擬鍵盤操作事件,前面submit()方法如果不行的話,可以試試模擬鍵盤事件
2.模擬鍵盤的操作需要先導入鍵盤模塊:from selenium.webdriver.common.keys import Keys
3.模擬enter鍵,可以用send_keys(Keys.ENTER)

4.其它常見的鍵盤操作:
鍵盤F1到F12:send_keys(Keys.F1) 把F1改成對應的快捷鍵
復制Ctrl+C:send_keys(Keys.CONTROL,'c')
粘貼Ctrl+V:send_keys(Keys.CONTROL,'v')
全選Ctrl+A:send_keys(Keys.CONTROL,'a')
剪切Ctrl+X:send_keys(Keys.CONTROL,'x')
制表鍵Tab: send_keys(Keys.TAB)
這里只是列了一些常用的,當然除了鍵盤事件,也有鼠標事件
四、鼠標懸停事件
1.鼠標不僅僅可以點擊(click),鼠標還有其它的操作,如:鼠標懸停在某個元素上,鼠標右擊,鼠標按住某個按鈕拖到
2.鼠標事件需要先導入模塊:from selenium.webdriver.common.action_chains import ActionChains
perform() 執行所有ActionChains中的行為
move_to_element() 鼠標懸停
3.這里以百度頁面設置按鈕為例

4.除了常用的鼠標懸停事件外,還有
右擊鼠標:context_click()
雙擊鼠標:double_click()
依葫蘆畫瓢,替換上面案例中對應的鼠標事件就可以了
selenium提供了一整套完整的鼠標和鍵盤行為事件,功能還是蠻強大滴。
五、其他相關內容
1 鼠標 集成在webdriver.ActionChains。單擊、雙擊、右擊、拖放等等。
2 鍵盤 引入包from selenium.webdriver.common.keys import Keys。鍵盤上按鍵幾乎都有。
#coding=utf-8 # 鼠標 webdriver.ActionChains # 鍵盤 Keys from selenium import webdriver from selenium.webdriver.common.keys import Keys import time dr = webdriver.Firefox() dr.get("https://www.baidu.com") dr.implicitly_wait(10) moreproduct = dr.find_element_by_css_selector("a.bri") webdriver.ActionChains(dr).move_to_element(moreproduct).perform() time.sleep(3) kw = dr.find_element_by_id("kw") #webdriver.ActionChains(dr).context_click(kw).perform() #鼠標右擊 kw.send_keys('測試') #鍵盤輸入 time.sleep(2) #kw.send_keys(Keys.CONTROL,'a') #組合鍵ctrl+a kw.send_keys(Keys.BACK_SPACE) time.sleep(2) kw.send_keys(Keys.RETURN) time.sleep(2) dr.quit()
在學習過程中有遇到疑問的,可以加selenium(python+java) QQ群交流:646645429