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中method的参数传递过程
Apr 02 Python
python基于xmlrpc实现二进制文件传输的方法
Jun 02 Python
Python实现字符串格式化的方法小结
Feb 20 Python
win10 64bit下python NLTK安装教程
Sep 19 Python
python利用requests库模拟post请求时json的使用教程
Dec 07 Python
Python pandas用法最全整理
Aug 04 Python
Python倒排索引之查找包含某主题或单词的文件
Nov 13 Python
基于TensorBoard中graph模块图结构分析
Feb 15 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
Apr 08 Python
Python实现疫情通定时自动填写功能(附代码)
May 27 Python
python tqdm库的使用
Nov 30 Python
Python面向对象之内置函数相关知识总结
Jun 24 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下10件你也许并不了解的事情
2008/09/11 PHP
php接口技术实例详解
2016/12/07 PHP
PHP实现git部署的方法教程
2017/12/19 PHP
为原生js Array增加each方法
2012/04/07 Javascript
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
js(jQuery)获取时间的方法及常用时间类搜集
2013/10/23 Javascript
查看大图功能代码jquery版
2013/11/05 Javascript
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
Js使用WScript.Shell对象执行.bat文件和cmd命令
2014/12/18 Javascript
Jquery实现地铁线路指示灯提示牌效果的方法
2015/03/02 Javascript
自己动手封装一个React Native多级联动
2018/09/19 Javascript
详解如何在vue项目中使用lodop打印插件
2018/09/27 Javascript
JavaScript实现原型封装轮播图
2020/12/27 Javascript
将Python代码打包为jar软件的简单方法
2015/08/04 Python
Python中文分词实现方法(安装pymmseg)
2016/06/14 Python
深入解析Python中的__builtins__内建对象
2016/06/21 Python
教你学会使用Python正则表达式
2017/09/07 Python
用python写扫雷游戏实例代码分享
2018/05/27 Python
python爬虫之urllib库常用方法用法总结大全
2018/11/14 Python
使用python绘制二维图形示例
2019/11/22 Python
python通过opencv实现图片裁剪原理解析
2020/01/19 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
Pycharm安装第三方库失败解决方案
2020/11/17 Python
10个示例带你掌握python中的元组
2020/11/23 Python
如何提高SQL Server的安全性
2016/07/25 面试题
.NET面试题:什么是值类型和引用类型
2016/01/12 面试题
酒吧员工的岗位职责
2013/11/26 职场文书
护士的岗位职责
2013/12/04 职场文书
酒店管理专业自荐信
2014/05/23 职场文书
手术室护士节演讲稿
2014/08/27 职场文书
2014年客服工作总结与计划
2014/12/09 职场文书
国博复兴之路观后感
2015/06/02 职场文书
2015军训通讯稿大全
2015/07/18 职场文书
教你漂亮打印Pandas DataFrames和Series
2021/05/29 Python
Java中常用解析工具jackson及fastjson的使用
2021/06/28 Java/Android
十大最强奥特曼武器:怪兽战斗仪在榜,第五奥特之父只使用过一次
2022/03/18 日漫