selenium中键盘操作:Keys类 您所在的位置:网站首页 电脑自动输入空格键是哪个键 selenium中键盘操作:Keys类

selenium中键盘操作:Keys类

2024-03-11 12:09| 来源: 网络整理| 查看: 265

一、前言

selenium提供了比较完整的键盘操作,在使用的模拟键盘操作之前需要我们导入Keys类。

from selenium.webdriver.common.keys import Keys 二、常用的非组合键操作 1、回车键:Keys.ENTER 2、删除键:Keys.BACK_SPACE 3、空格键:Keys.SPACE 4、制表键:Keys.TAB 5、回退键:Keys.ESCAPE 6、刷新键:Keys.F5

比如百度搜索中,可以利用Keys.ENTER回车键代替点击搜索框,代码如下:

import time from selenium import webdriver from selenium.webdriver.common.keys import Keys driver = webdriver.Chrome() driver.get("https://www.baidu.com") driver.maximize_window() time.sleep(5) # 定位百度输入框,输入内容 driver.find_element("id","kw").send_keys("学习软件测试") # 定位百度输入框,输入回车键,以此代替点击搜索按钮 driver.find_element("id","kw").send_keys(Keys.ENTER) # 初始化ActionChains类,输入回车键,执行回车键操作,和上面一行代码的作用一样 # ActionChains(driver).send_keys(Keys.ENTER).perform() 三、常用的组合键操作

我们经常使用的Ctrl+A,Ctrl+C都是组合键。在使用按键操作的时候我们需要借助一下send_keys()来模拟操作。Keys.CONTROL也就是我们键盘上的Ctrl键,下面是几个常用的组合键

1、全选:send_keys(Keys.CONTROL,'a') 2、复制:send_keys(Keys.CONTROL,'c') 3、粘贴:send_keys(Keys.CONTROL,'v') 4、剪切:send_keys(Keys.CONTROL,'x') 注意:send_keys()有两个参数。

同样已百度为例,借助send_keys()来进行复制粘贴等操作,代码如下:

driver = webdriver.Chrome() driver.get("https://www.baidu.com") driver.maximize_window() time.sleep(5) driver.find_element("id", "kw").send_keys("测试工程师") driver.find_element("id", "kw").send_keys(Keys.CONTROL, 'a') driver.find_element("id", "kw").send_keys(Keys.CONTROL, 'c') driver.find_element("id", "kw").send_keys(Keys.CONTROL, 'v') driver.find_element("id", "kw").send_keys(Keys.CONTROL, 'v')

运行结果图,最终粘贴了两次:

 TODO:还有另一种操作方法,可以利用ActionChains类下面的key_down和key_up方法进行操作,代码如下:

其中:

1、key_down(Keys.CONTROL)  按下Ctrl键

2、send_keys('a') 输入键盘A键

3、key_up(Keys.CONTROL)  在松开Ctrl键

4、perform() 执行之前存储的操作

import time from selenium import webdriver from selenium.webdriver import ActionChains from selenium.webdriver.common.keys import Keys driver = webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(10) driver.get("https://www.baidu.com") # 定位百度输入框输入内容 driver.find_element('id', 'kw').send_keys("测试工程师") # 初始化一个ActionChains类 action = ActionChains(driver) # 选中内容 action.key_down(Keys.CONTROL).send_keys('a').key_up(Keys.CONTROL).perform() time.sleep(3) # 复制内容 action.key_down(Keys.CONTROL).send_keys('c').key_up(Keys.CONTROL).perform() time.sleep(3) # 粘贴内容 action.key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform() action.key_down(Keys.CONTROL).send_keys('v').key_up(Keys.CONTROL).perform()


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有