從之前的幾篇文章對selenium描述的示例中,對元素定位及其簡單操作click和set_keys進行了舉例,這兩個操作也是在日常操作中佔據不較多的使用場景。而一些特殊場景需要操作鼠標或鍵盤進行特殊操作,如:鼠標左、右點擊、懸停,鍵盤F5、CTRL+C、CTRL+V……
鼠標事件:
對應的selenium除了可以使用 click( ) 來模擬鼠標的單擊操作,現在Web產品中還提供了更豐富的鼠標交互方式,例如鼠標右鍵、雙擊、懸停、拖動等功能,在WebDriver中,將這些關於鼠標操作的方法都封裝在 ActionChains 類中。
· perform():執行所有ActionChains存儲的行爲
· context_click():右擊
· double_click():雙擊
· drag_and_drop():拖動
· move_to_element():懸停
舉例:
鍵盤事件:
Keys類提供了幾乎鍵盤上的所有按鍵的方法,在前面的博文中有瞭解到,send_keys()可以用來模擬鍵盤輸入的操作,除此之外,我們還可以用Keys來模擬鍵盤上的按鍵,或者組合鍵,如Ctrl + C、Ctrl + V等等。
下面介紹幾個常用的鍵盤操作:
· Keys.BACK_SPACE:刪除鍵
· Keys.SPACE:空格鍵
· Keys.TAB:Tab鍵
· Keys.ESCAPE:回退鍵
· Keys.ENTER:回車鍵
· Keys.CONTROL,”a”:組合鍵,Ctrl + A
· Keys.CONTROL,”x”:組合鍵,Ctrl + X
· Keys.CONTROL,”v”:組合鍵,Ctrl + V
· Keys.CONTROL,”c”:組合鍵,Ctrl + C
· Keys.F1:F1鍵
· Keys.F12:F12鍵
在 Selenium WebDriver 中,有了 Actions 類和 Keys 枚舉對鍵盤和鼠標的操作已經做的非常到位,如果有其他特殊場景再結合 python的PYAUTOGUI等庫的使用,基本上可以滿足工作中遇到的對鼠標鍵盤操作的應用了。
文章來自公衆號:睿江雲計算
睿江雲計算官網:https://www.eflycloud.com/home?from=RJ0024