Python趣味实战之手把手教你实现举牌小人生成器


Posted in Python onJune 07, 2021

Selenium库的安装与简单使用

 1. 安装selenium库

pip install selenium

结果如下:

Python趣味实战之手把手教你实现举牌小人生成器

2. chromedriver驱动的配置

如果你想要驱动谷歌浏览器,自动打开浏览器,必须匹配chromedriver驱动,否则会报错。

配置chromedriver驱动,一定要注意 “驱动” 和 “谷歌浏览器” 版本一定是要相匹配,否则不能使用。

① 检查谷歌浏览器的版本

这里首先提供一个详细的地址供大家查看:
https://jingyan.baidu.com/article/95c9d20d74a1e8ec4f756149.html
点击“右上角三个点” --> 点击“设置” --> 点击 “关于chrome”,出现如下界面。

Python趣味实战之手把手教你实现举牌小人生成器

② 下载chromedriver驱动

这里再次提供一个详细的地址,供大家选择各种版本驱动程序:
http://chromedriver.storage.googleapis.com/index.html
从上面的图中可以看出,谷歌浏览器的版本是【81.0.4044.138】,这里我们选择的对应版本的驱动,如下图所示。

Python趣味实战之手把手教你实现举牌小人生成器

点进该文件后,可以根据我们的操作系统,选择对应的驱动。

Python趣味实战之手把手教你实现举牌小人生成器

③ chromedriver驱动的配置

解压上述下载好的文件,并将解压后我们得到的chromedriver.exe文件,需要放到python的安装路径下(和python.exe放在一起)。
首先,你可以查看你的python解释器安装在哪里!

Python趣味实战之手把手教你实现举牌小人生成器

然后,将chromedriver.exe放置和python.exe在一起

Python趣味实战之手把手教你实现举牌小人生成器

3. 检验selenium是否可用

使用如下两行代码,如果谷歌浏览器成功被驱动打开,证明上述安装和配置没问题。

from selenium import webdriver
browser = webdriver.Chrome()

结果如下:

Python趣味实战之手把手教你实现举牌小人生成器

如果出现上图,则证明你的chromedriver驱动配置成功。接下来,你可以尽情享用库了。

selenium库制作一个“举牌小人”

这里给你提供一个网址:
http://www.atoolbox.net/Tool.php?Id=789

我们就是利用这个网址,基于selenium库,为大家制作一个好玩儿的 “举牌小人”。

1. 分析网页

首先,我们打开上述网址(如图所示),操作步骤我为大家简述了一下。

Python趣味实战之手把手教你实现举牌小人生成器

当然,这三个步骤都是认为操作浏览器得到的效果。

此时,我们就是要使用库,模拟人为操作浏览器,实现这三步操作。

  • Ⅰ 定位“输入框”;
  • Ⅱ 定位“生成”这二字的节点;
  • Ⅲ 定位“下载”这二字的节点;

点击F12,打开开发者工具,我们先来定位“输入框”,可以看到这里的id属性是up-content

Python趣味实战之手把手教你实现举牌小人生成器

再来定位“生成”这二字的节点,可以看到这里的id属性是preview

Python趣味实战之手把手教你实现举牌小人生成器

最后再来定位“下载”这二字的节点,可以看到这里的id属性是download

Python趣味实战之手把手教你实现举牌小人生成器

在selenium中,有如下多种方法,来定位节点。这个其实就是定位方法,没必要多讲述。由于我这里是通过id属性,定位对应节点,因此使用的方法就是find_element_by_id

Python趣味实战之手把手教你实现举牌小人生成器

这里我为大家上代码了,代码中有详细的注释,整个操作过程就代码中的①②③④这几步。

from selenium import webdriver
import time

# 定义一个input输入函数,这就是待输入的关键词;
keyword = input("请输入关键词:")

# 创建浏览器对象,该操作会自动帮我们打开Google浏览器窗口;
browser = webdriver.Chrome()

# 调用浏览器对象,向服务器发送请求。该操作会打开Google浏览器,并跳转到 指定网址网页;
browser.get("http://www.atoolbox.net/Tool.php?Id=789")

# 最大化窗口(写不写无所谓,你可以尝试一下效果)
browser.maximize_window()

# ① 定位“输入框”,定位后直接调用send_keys()方法,往该输入框输入关键字;
browser.find_element_by_id("up-content").send_keys(keyword)

# ② 再定位“生成”节点,然后调用click()方法,模拟认为点击这个按钮;
browser.find_element_by_id('preview').click()

# ③ 此时,等待个几秒钟(>=5),再点击下载,不要省略这一步【为了让浏览器饭响应完全】;
time.sleep(3)

# ④ 最后再定位“下载”按钮,同样使用click()方法,模拟认为点击这个按钮;
browser.find_element_by_id('download').click()

结果如下:

Python趣味实战之手把手教你实现举牌小人生成器

这个图片的下载位置,就是谷歌浏览器的默认下载地址,我们可以修改到指定文件夹,那么所下载的图片就都在指定位置了。

Python趣味实战之手把手教你实现举牌小人生成器

到此这篇关于Python趣味实战之手把手教你实现举牌小人生成器的文章就介绍到这了,更多相关Python实现举牌小人生成器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python实现堆和索引堆的代码示例
Mar 19 Python
用TensorFlow实现lasso回归和岭回归算法的示例
May 02 Python
浅谈python3.x pool.map()方法的实质
Jan 16 Python
python学生管理系统开发
Jan 30 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
Apr 29 Python
Python3.5装饰器原理及应用实例详解
Apr 30 Python
python输出电脑上所有的串口名的方法
Jul 02 Python
如何基于Python制作有道翻译小工具
Dec 16 Python
tornado+celery的简单使用详解
Dec 21 Python
利用Python制作动态排名图的实现代码
Apr 09 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
Dec 07 Python
Python爬虫进阶之爬取某视频并下载的实现
Dec 08 Python
怎么用Python识别手势数字
利用python调用摄像头的实例分析
Jun 07 #Python
python通过opencv调用摄像头操作实例分析
Jun 07 #Python
Python爬虫之用Xpath获取关键标签实现自动评论盖楼抽奖(二)
Jun 07 #Python
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
Jun 07 #Python
Pytorch中Softmax和LogSoftmax的使用详解
Jun 05 #Python
Pytorch中Softmax与LogSigmoid的对比分析
Jun 05 #Python
You might like
PHP XML备份Mysql数据库
2009/05/27 PHP
基于php实现的php代码加密解密类完整实例
2016/10/12 PHP
thinkphp关于简单的权限判定方法
2017/04/03 PHP
浅谈Laravel核心解读之Console内核
2018/12/02 PHP
Laravel Eloquent ORM 实现查询表中指定的字段
2019/10/17 PHP
jQuery textarea的长度进行验证
2009/05/06 Javascript
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
jQuery的cookie插件实现保存用户登陆信息
2014/04/15 Javascript
js动态修改表格行colspan列跨度的方法
2015/03/30 Javascript
javascript动态创建表格及添加数据实例详解
2015/05/13 Javascript
JS获取下拉框显示值和判断单选按钮的方法
2015/07/09 Javascript
jquery实现文本框textarea自适应高度
2016/03/09 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
解决npm管理员身份install时出现权限的问题
2018/03/16 Javascript
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
Vue 通过自定义指令回顾v-内置指令(小结)
2018/09/03 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
2019/04/09 Javascript
[56:45]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第一局
2016/02/28 DOTA
Python写的创建文件夹自定义函数mkdir()
2014/08/25 Python
Python和GO语言实现的消息摘要算法示例
2015/03/10 Python
使用Node.js和Socket.IO扩展Django的实时处理功能
2015/04/20 Python
Python urllib、urllib2、httplib抓取网页代码实例
2015/05/09 Python
Python爬虫使用Selenium+PhantomJS抓取Ajax和动态HTML内容
2018/02/23 Python
python之从文件读取数据到list的实例讲解
2018/04/19 Python
Python爬虫框架scrapy实现的文件下载功能示例
2018/08/04 Python
python使用requests模块实现爬取电影天堂最新电影信息
2019/04/03 Python
python 最简单的实现适配器设计模式的示例
2020/06/30 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2020/11/20 Python
详解CSS3中@media的实际使用
2015/08/04 HTML / CSS
猫途鹰:全球领先的旅游点评社区
2017/04/07 全球购物
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
生产车间实习自我鉴定
2013/09/23 职场文书
中英文自我评价常用句型
2013/12/19 职场文书
父亲八十大寿答谢词
2014/01/23 职场文书
html2 canvas svg不能识别的解决方案
2021/06/03 HTML / CSS