其他
偷懒小妙招| selenium之玩转鼠标键盘操作(上)
本文作者:戴 雯,中南财经政法大学金融学院
本文编辑:寇晓璇
技术总编:王子一
Python云端课程来啦!
寒雪梅中尽,春风柳上归。新的一年,正值开学之际,为了感谢大家长久以来的支持和信任,爬虫俱乐部为大家送福利啦!原价2400元的Python编程培训课程,现在仅需100元即可通过腾讯课堂参与学习。详细培训大纲及报名方式请查看推文《Python云端课程福利大放送!0基础也能学~》,或点击文末阅读原文直接报名呦~另外,对报名有任何疑问欢迎在公众号后台和腾讯课堂留言哦!模拟鼠标和键盘事件,最基础的也是最常用的操作有三种:
clear():清空内容
click():模拟鼠标单击
send_keys():模拟键盘输入文本
selenium
库。下面以 百度搜索
为例,用一段简单的小程序,为大家展示这三种基本操作的功能。 1from selenium import webdriver
2import time
3
4# 打开Chrmoe浏览器
5CHROME_DRIVER = 'D:/python/Driver/chromedriver.exe'
6driver = webdriver.Chrome(executable_path=CHROME_DRIVER)
7
8# 打开百度百科页面
9driver.get("https://baike.baidu.com/")
10time.sleep(1)
11
12# 通过id定位到百度百科搜索框,输入 中南财经政法大学
13driver.find_element_by_id("query").send_keys("中南财经政法大学")
14time.sleep(1)
15
16# 通过id定位到“进入词条”,点击“进入词条”按钮
17driver.find_element_by_id("search").click()
18time.sleep(1)
19
20# 通过id定位到百度百科搜索框,清空输入框
21driver.find_element_by_id("query").clear()
22time.sleep(1)
23driver.quit()
键盘事件
1from selenium.webdriver.common.keys import Keys
函数形式 | 操作含义 |
---|---|
send_keys(Keys.BACK_SPACE) | 删除键(BackSpace) |
send_keys(Keys.SPACE) | 空格键(Space) |
send_keys(Keys.ENTER) | 回车键(Enter) |
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) |
百度搜索
为例, 展示如何运用selenium的键盘模块模拟键盘进行操作,代码如下: 1from selenium import webdriver
2from selenium.webdriver.common.keys import Keys
3import time
4
5#打开Chrmoe浏览器
6CHROME_DRIVER = 'D:/python/Driver/chromedriver.exe'
7driver = webdriver.Chrome(executable_path=CHROME_DRIVER)
8
9#打开百度页面
10driver.get("https://www.baidu.com")
11
12#通过id定位到百度搜索框,然后输入“爬虫俱乐部!”
13driver.find_element_by_id("kw").send_keys("爬虫俱乐部!")
14time.sleep(2)
15
16#删除键删除输入框内结尾的单个字符"!"
17driver.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
18time.sleep(2)
19
20#空格键在文本末尾处输入空格
21driver.find_element_by_id("kw").send_keys(Keys.SPACE)
22time.sleep(2)
23
24#回车键模拟搜索效果
25driver.find_element_by_id("kw").send_keys(Keys.ENTER)
26time.sleep(2)
27
28#全选输入的关键词
29driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"a")
30time.sleep(2)
31
32#剪切全选的关键词
33driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"x")
34time.sleep(2)
35
36#粘贴剪贴的关键词
37driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"v")
38time.sleep(2)
39
40#全选关键词
41driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"a")
42time.sleep(2)
43
44#复制全选的关键词
45driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"c")
46time.sleep(2)
47
48#清除文本
49driver.find_element_by_id("kw").clear()
50time.sleep(2)
51
52#粘贴复制的关键词
53driver.find_element_by_id("kw").send_keys(Keys.CONTROL,"v")
54time.sleep(2)
55
56driver.quit()
小伙伴们可以复制代码,动手试试哦~友情提示,在用selenium模拟键盘操作前需要先完成selenium的相关配置哦,具体可参考推文《爬虫大杀器|手把手教你配置Selenium》。
以上就是本期推文的全部内容了,在下一期推文中,小编会为大家带来有关selenium模拟鼠标操作的小技巧,包括模拟鼠标双击、悬停、拖动滑块等等,一起期待一下吧~友友们别忘记点赞、转发、关注,那我们下期再见啦~~
对我们的推文累计打赏超过1000元,我们即可给您开具发票,发票类别为“咨询费”。用心做事,不负您的支持!
【爬虫实战】南京地铁又上热榜——客流量分析
Stata中字符串的处理
我在哪里?调用高德API获取地址经纬度信息
超级简单的条件函数,轻松生成虚拟变量
Python云端课程福利大放送!0基础也能学~
【爬虫实战】“我们,继续新故事”——爬取LOL英雄皮肤
“人像动漫化”—Python实现抖音特效
《唐探3》做错了什么?|来自150万字影评的证据
爬虫俱乐部年度总结|《请回答2020》
模糊匹配我只用这一招!
利用tushare获取财务数据
爬虫实战|Selenium爬取微信公众号标题与链接
强大的正则表达式
自动群发邮件(二)——附带附件
自动群发邮件--email和smtplib基本模块的使用
计算工作日的小能手——workdays
Seminar | 企业错报与银行贷款合同
关于我们
微信公众号“Stata and Python数据分析”分享实用的Stata、Python等软件的数据处理知识,欢迎转载、打赏。我们是由李春涛教授领导下的研究生及本科生组成的大数据处理和分析团队。
此外,欢迎大家踊跃投稿,介绍一些关于Stata和Python的数据处理和分析技巧。
投稿邮箱:statatraining@163.com投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到有关数据处理、分析等问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。