selenium+Python(鼠標和鍵盤事件)

       本篇總結了 web 頁面經常使用的一些操做元素方法,能夠統稱爲行爲事件
有些 web 界面的選項菜單須要鼠標懸停在某個元素上才能顯示出來(如百度頁面的設置按鈕)。python

1 簡單操做

1.點擊(鼠標左鍵)頁面按鈕:click()
2.請空輸入框:clear()
3.輸入字符串:send_keys()
4.打開測試部落論壇後,點擊放大鏡搜索圖標,通常爲了保證輸入的正確性,能夠先清
空下輸入框,而後輸入搜索關鍵字web

# coding:utf-8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.baidu.com ")
driver.implicitly_wait(10)
driver.find_element_by_id("kw").click()
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("selnium")

2.submit 提交表單

1.在前面百度搜索案例中,輸入關鍵字後,能夠直接按回車鍵搜索,也能夠點搜索按鈕搜索。
2.submit()通常用於模擬回車鍵測試

# coding:utf-8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.baidu.com ")
driver.implicitly_wait(10)
driver.find_element_by_id("kw").send_keys("selnium")
# submit() 模擬enter鍵提交表單
driver.find_element_by_id("kw").submit()

3 鍵盤操做

1.selenium 提供了一整套的模擬鍵盤操做事件,前面 submit()方法若是可行的話,可
以試試模擬鍵盤事件
2.模擬鍵盤的操做須要先導入鍵盤模塊:from selenium.webdriver.common.keys
import Keys
3.模擬 enter 鍵,能夠用 send_keys(Keys.ENTER)orm

# coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://www.baidu.com ")
driver.implicitly_wait(10)
driver.find_element_by_id("kw").click()
driver.find_element_by_id("kw").clear()
driver.find_element_by_id("kw").send_keys("selnium")
# 模擬enter鍵操做回車按鈕
driver.find_element_by_id("kw").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)
這裏只是列了一些經常使用的,固然除了鍵盤事件,也有鼠標事件blog

4 鼠標懸停事件

1.鼠標不單單能夠點擊(click),鼠標還有其它的操做,如:鼠標懸停在某個元素上,鼠標右擊,鼠標按住某個按鈕拖到
2.鼠標事件須要先導入模塊:from selenium.webdriver.common.action_chainsimport ActionChains
perform() 執行全部 ActionChains 中的行爲
move_to_element() 鼠標懸停
3.這裏以百度頁面設置按鈕爲例
4.除了經常使用的鼠標懸停事件外,還有
右擊鼠標:context_click()
雙擊鼠標:double_click()事件

# coding:utf-8
from selenium import webdriver
# 引入ActionChains類
from selenium.webdriver.common.action_chains import ActionChains
# 使用方法
brower = webdriver.Firefox()
brower.get("http://www.baidu.com")
# 定位到須要右擊的元素並賦值給rigth_click
right_click = brower.find_element_by_id("kw")
# 對定位到的元素進行右擊操做。
ActionChains(brower).context_click(right_click).perform()
相關文章
相關標籤/搜索