python+selenium 簡單頁面操作以及鼠標鍵盤事件

原文:https://www.cnblogs.com/c1116p1212/p/9482265.html

在自動化測就是模擬人為的操作,上一篇講的是定位頁面元素來找到某個點,當我們找到該元素后可以進行相應的操作

clear()?   清除文本

send_keys("輸入內容")   想輸入框輸入內容

click()  點擊事件

from selenium?import webdriver

driver = webdriver.Firefox()

driver.get('http://www.baidu.com')

driver.find_element_by_id('kw').clear()   #清除輸入框

driver.find_element_by_id('kw').send_keys('selenium+python')   #輸入selenium+python

driver.find_element_by_id('su').click()   #點擊搜索按鈕

通過上面的操作可以模擬鼠標的操作如click()不過現實中鼠標還有的操作,比如雙擊、右鍵、拖動、懸停等等,在WebDriver 中這些關于鼠標操作的方法由 ActionChains 類提供。

ActionChains類提供的鼠標操作的常用方法:

perform() 執行所有 ActionChains 中存儲的行為

context_click() 右擊

double_click() 雙擊

drag_and_drop() 拖動

move_to_element() 鼠標懸停

如圖,某商城內切換語言選擇語言設置懸停效果,其他與懸停用法一致

from seleniumimport webdriver

#引入ActionChains類

from selenium.webdriver.common.action_chainsimport ActionChains

import time

driver = webdriver.Firefox()

driver.maximize_window()

driver.get('https://www.thishop.com/')

time.sleep(3)

#定位到要懸停的元素

stop =driver.find_element_by_class_name("icon-arrow-down")

#對定位到的元素執行鼠標懸停操作

ActionChains(driver).context_click(stop).perform()

鍵盤事件,在現實操作中我們習慣性的按tab見切換到寫一個輸入或者元素,Key()類幾乎提供所有按鍵的方法

下面經常使用到的鍵盤操作:

send_keys(Keys.BACK_SPACE) 刪除鍵(BackSpace)

send_keys(Keys.SPACE) 空格鍵(Space)

send_keys(Keys.TAB) 制表鍵(Tab)

send_keys(Keys.ESCAPE) 回退鍵(Esc)

send_keys(Keys.ENTER) 回車鍵(Enter)

send_keys(Keys.CONTROL,'a') 全選(Ctrl+A)

send_keys(Keys.CONTROL,'c') 復制(Ctrl+C)

send_keys(Keys.CONTROL,'x') 剪切(Ctrl+X)

send_keys(Keys.CONTROL,'v') 粘貼(Ctrl+V)

send_keys(Keys.F1) 鍵盤 F1

……

send_keys(Keys.F12) 鍵盤 F12

from seleniumimport webdriver#引入Keys模塊

from selenium.webdriver.common.keysimport Keys

driver = webdriver.Firefox()

driver.get("http://www.baidu.com")

#輸入框輸入內容

driver.find_element_by_id("kw").send_keys("seleniumm")

#刪除多輸入的一個m

driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)

#輸入空格鍵+“教程”

driver.find_element_by_id("kw").send_keys(Keys.SPACE)

driver.find_element_by_id("kw").send_keys(u"教程")

#ctrl+a? 全選輸入框內容

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')

#ctrl+x 剪切輸入框內容

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')

#ctrl+v 粘貼內容到輸入框

driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'v')

#通過回車鍵盤來代替點擊操作

driver.find_element_by_id("su").send_keys(Keys.ENTER)

driver.quit()

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容