本篇總結了 web 頁面常用的一些操作元素方法,可以統稱為行為事件
有些 web 界面的選項菜單需要鼠標懸停在某個元素上才能顯示出來(如百度頁面的設置按鈕)。
1 簡單操作
1.點擊(鼠標左鍵)頁面按鈕:click()
2.請空輸入框:clear()
3.輸入字符串:send_keys()
4.打開測試部落論壇后,點擊放大鏡搜索圖標,一般為了保證輸入的正確性,可以先清
空下輸入框,然后輸入搜索關鍵字
# 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)
# 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)
這里只是列了一些常用的,當然除了鍵盤事件,也有鼠標事件
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()