selenium自动化常用的键盘操作

15 篇文章 0 订阅
10 篇文章 1 订阅

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

from selenium.webdriver.common.keys import Keys

在keys类中,定义了非常多的按键操作,以下内容是在实际上会常用到的

组合键:

我们经常会用到的Ctrl+A,Ctrl+C都是组合键

在使用按键操作的时候需要借助一下send_keys()来模拟操作

Keys.CONTROL,也就是我们键盘上的Ctrl键,下面是几个常用的组合键:driver.find_element_by_id('xxx').send_keys(Keys.CONTROL,'a')

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 有两个参数

 

常用的非组合键:driver.find_element_by_id('xxx').send_keys(Keys.ENTER)

回车键:Keys.ENTER

删除键:Keys.BACK_SPACE

空格键:Keys.SPACE

制表键:Keys.TAB

回退键:Keys.ESCAPE

刷新键:Keys.F5

 

例如在百度中利用Keys.ENTER代替搜索:

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://www.baidu.com')

driver.find_element_by_id('kw').send_keys('python')
time.sleep(3)

# 1.实例化ActionChains类
ac = ActionChains(driver)

# 2.调用鼠标行为,最后调用perform()来执行鼠标操作
ele = driver.find_element_by_xpath('//div[@id="u"]//a[@name="tj_settingicon"]')
ac.move_to_element(ele).perform()

WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.XPATH,'//a[text()="高级搜索"]')))
driver.find_element_by_xpath('//a[text()="高级搜索"]').click()

WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.XPATH,'//input[@value="高级搜索"]')))
driver.find_element_by_id('adv_keyword').clear()
driver.find_element_by_id('adv_keyword').send_keys('selenium')
# 使用Enter键代替高级搜索
driver.find_element_by_xpath('//input[@value="高级搜索"]').send_keys(Keys.ENTER)

driver.quit()

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值