python selenium 滑鼠鍵盤操作

2021-10-02 00:00:13 字數 3189 閱讀 1772

一、滑鼠操作

在webdriver中,滑鼠操作的方法封裝在actionchains類中。actionchains類常用的方法有:

1、perform()    執行所有actionchains中儲存的行為

2、context_click()   單擊右鍵

3、double_click()    雙擊左鍵

4、drag_and_drop()    滑鼠單擊左鍵選中元素後拖動到目標位置

5、move_to_element()    滑鼠懸停

# -*- coding: utf-8 -*-

from selenium import webdriver

from selenium.webdriver.common.action_chains import actionchains

driver = webdriver.chrome()

driver.get('')

# ......

# 定位到要右擊的元素

r_click = driver.find_element_by_xpath('//a[@class="sabx3rn"]')

# 對定位到的元素進行單擊右鍵操作

actionchains(driver).context_click(r_click).perform()

# 定位到要懸浮的元素

move = driver.find_element_by_xpath('//span[@class="dicofyb"]/i')

# 對定位到的元素進行滑鼠懸停操作

actionchains(driver).move_to_element(move).perform()

# 定位到要雙擊的元素

double_click = driver.find_element_by_xpath('//ul[@class="fohabxb"]/li[3]/a/span/span')

# 對定位到的元素進行雙擊操作

actionchains(driver).double_click(double_click).perform()

# 定位到滑鼠移動前的元素

source = driver.find_element()

# 定位到滑鼠移動目標位置的元素

target = driver.find_element()

# 執行滑鼠拖動操作

actionchains(driver).drag_and_drop(source, target).perform()

driver.quit()

二、鍵盤操作

在webdriver中,鍵盤操作的方法封裝在keys類中。keys類幾乎提供了鍵盤上所有的按鍵操作,鍵盤操作可以用send_keys()方法模擬鍵盤輸入。常用鍵盤操作有:

1、send_keys(keys.backspace)    刪除backspace

2、send_keys(keys.space)    空格space

3、send_keys(keys.control, 'a')    全選ctrl+a

4、send_keys(keys.control, 'x')    剪下ctrl+x

5、send_keys(keys.control, 'c')    複製ctrl+c

6、send_keys(keys.control, 'v')    貼上ctrl+v

7、send_keys(keys.enter)    回車enter

8、send_keys(keys.escape)    回退esc

9、send_keys(keys.tab)    製表鍵tab

10、send_keys(keys.f1)    f1

# -*- coding: utf-8 -*-

from selenium import webdriver

from selenium.webdriver.common.keys import keys

driver = webdriver.chrome()

driver.get('')

# 輸入字串python+

driver.find_element_by_id('kw').send_keys('python+')

# 刪除最後乙個字元『+』

driver.find_element_by_id('kw').send_keys(keys.backspace)

# 空格space

driver.find_element_by_id('kw').send_keys(keys.space)

# 全選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')

# 輸入字串selenium

driver.find_element_by_id('kw').send_keys('selenium')

# 全選ctrl+a

driver.find_element_by_id('kw').send_keys(keys.control, 'a')

# 複製ctrl+c

driver.find_element_by_id('kw').send_keys(keys.control, 'c')

# 貼上ctrl+v

driver.find_element_by_id('kw').send_keys(keys.control, 'v')

# 回車enter

driver.find_element_by_id('kw').send_keys(keys.enter)

# 回退esc

driver.find_element_by_id('kw').send_keys(keys.escape)

# 製表鍵tab

driver.find_element_by_id('kw').send_keys(keys.tab)

# f1

driver.find_element_by_id('kw').send_keys(keys.f1)

clip 貓有貓道,鼠有鼠道

所需 img 7234674b33c8ac3b09f7eff8 瀏覽器效果 a出現的是剪下的效果 也就是clip從左上角開始剪下的效果 這個屬性我沒有用到,以前看過,但是實際工作中還沒有用到,不過如果我們想從左上角剪下的話,用我這種方法也不錯啊,至少少寫乙個屬性,缺點是你又忘記了乙個css屬性 b是...

Python Selenium環境搭建

安裝python 設定 python 的環境變數 安裝目錄 安裝目錄 scripts 使用 pip安裝 selenium pip install selenium 安裝完python pip工具,在安裝目錄的 scripts 目錄下。在 dos下直接執行 pip install selenium 即...

Python Selenium 學習筆記

1 判斷元素是否存在 try driver.find element.xx a true except a false if a true print 元素存在 elif a false print 元素不存在 2 判斷元素是否顯示 driver.find element by id outputb...