国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

selenium+python自動化測試之鼠標和鍵盤事件

2020-02-16 00:51:43
字體:
供稿:網(wǎng)友

前面的例子中,點擊事件都是通過click()方法實現(xiàn)鼠標的點擊事件。其實在WebDriver中,提供了許多鼠標操作的方法,這些操作方法都封裝在ActionChains類中,包括鼠標右擊、雙擊、懸停和鼠標拖動等功能。

ActionChains類提供的鼠標操作事件

context_click():點擊鼠標右鍵 double_click():雙擊鼠標 drag_and_drop():拖動鼠標 move_to_element():鼠標懸停

鼠標懸停

頁面上有些下拉菜單,在鼠標放到元素上以后,下面的菜單才會顯示出來。下面的圖片就是一個例子

百度首頁上的設置項,下面的菜單默認不會顯示,將鼠標停在上面后才會顯示,這就是鼠標的懸停操作,菜單顯示以后就可以對下面的項進行點擊操作

進入搜索設置的代碼

# -*- coding: utf-8 -*-from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get("http://www.baidu.com")time.sleep(3)settings = driver.find_element_by_link_text('設置')webdriver.ActionChains(driver).move_to_element(settings).perform()time.sleep(1)settings_search = driver.find_element_by_class_name('setpref')settings_search.click()time.sleep(3)driver.close()

打開頁面后,根據(jù)鏈接的文本信息找到設置項,使用ActionChains的move_to_element()方法將鼠標懸停在設置上,然后找到搜索設置項

鼠標的右擊、雙擊和拖動事件都是通過上述的方法調(diào)用,只要將方法替換一下就可以了。拖動事件需要傳入兩個參數(shù),第一個參數(shù)是拖動的起點元素,第二個參數(shù)是終點元素

webdriver.ActionChains(driver).context_click("右擊的元素定位").perform() #右擊事件webdriver.ActionChains(driver).double_click("雙擊的元素定位").perform() #雙擊事件webdriver.ActionChains(driver).drag_and_drop("拖動的起點元素", "拖動的終點元素").perform() #拖動事件

鍵盤事件

Keys類中提供了幾乎所有的鍵盤事件,在鼠標事件中用到了兩個鍵盤事件,鍵盤的向下按鍵(send_keys(Keys.DOWN))和鍵盤的回車事件(send_keys(Keys.ENTER))。鍵盤的事件需要導入Keys模塊

from selenium.webdriver.common.keys import Keys

所有的鍵盤事件都包含在這個模塊中,send_keys用來模擬鍵盤輸入,除此之外,還可以用例模擬鍵盤上的按鍵,不僅支持單個的鍵盤按鍵,還支持組合按鍵輸入

# -*- coding: utf-8 -*-from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get("http://www.baidu.com")time.sleep(3)driver.find_element_by_id('kw').send_keys('selenium') #在搜索框中輸入"selenium"driver.find_element_by_id('kw').send_keys(Keys.SPACE) #輸入空格鍵driver.find_element_by_id('kw').send_keys('python') #在搜索框中輸入"python"driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'a') #輸入Control+a模擬全選driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'c') #輸入Control+c模擬復制driver.find_element_by_id('kw').send_keys(Keys.CONTROL, 'v') #輸入Control+v模擬粘貼driver.find_element_by_id('kw').send_keys(Keys.ENTER) #輸入回車代替點擊搜索按鈕time.sleep(3)driver.close()            
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 咸丰县| 剑阁县| 沙河市| 汶川县| 东莞市| 柏乡县| 横峰县| 淳安县| 祥云县| 浮梁县| 内江市| 上栗县| 姚安县| 通州区| 甘孜县| 县级市| 德兴市| 禹州市| 沙湾县| 鄂托克前旗| 密云县| 闸北区| 民和| 静海县| 定安县| 德昌县| 河西区| 南京市| 房山区| 溧阳市| 南靖县| 高邮市| 尉犁县| 郁南县| 阳山县| 博罗县| 穆棱市| 边坝县| 上蔡县| 黄冈市| 重庆市|