太棒了 | 手把手教你用Python做一个 “举牌小人” 生成器!

简介: 太棒了 | 手把手教你用Python做一个 “举牌小人” 生成器!

Selenium库的安装与简单使用

1. 安装selenium库

pip install selenium


结果如下:

image.png


2. chromedriver驱动的配置

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


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


① 检查谷歌浏览器的版本

这里首先提供一个详细的地址供大家查看:

https://jingyan.baidu.com/article/95c9d20d74a1e8ec4f756149.html

点击“右上角三个点” --> 点击“设置” --> 点击 “关于chrome”,出现如下界面。

image.png


② 下载chromedriver驱动

这里再次提供一个详细的地址,供大家选择各种版本驱动程序:

http://chromedriver.storage.googleapis.com/index.html

从上面的图中可以看出,谷歌浏览器的版本是【81.0.4044.138】,这里我们选择的对应版本的驱动,如下图所示。

image.png

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

image.png


③ chromedriver驱动的配置

解压上述下载好的文件,并将解压后我们得到的chromedriver.exe文件,需要放到python的安装路径下(和python.exe放在一起)。

首先,你可以查看你的python解释器安装在哪里!

image.png

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

image.png


3. 检验selenium是否可用

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


from selenium import webdriver
browser = webdriver.Chrome()


结果如下:

image.png

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


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

这里给你提供一个网址:

http://www.atoolbox.net/Tool.php?Id=789


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


1. 分析网页

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

image.png

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


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


Ⅰ 定位“输入框”;

Ⅱ 定位“生成”这二字的节点;

Ⅲ 定位“下载”这二字的节点;

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

image.png

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

image.png

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

image.png

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

image.png

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


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()


结果如下:

image.png

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

image.png

好了,本文就介绍到这里,主要是娱乐 + selenium库的简单使用,希望对一部分朋友有帮助,我的目的就达到了!


相关文章
|
26天前
|
大数据 数据处理 开发者
Python中的迭代器和生成器:不仅仅是语法糖####
本文探讨了Python中迭代器和生成器的深层价值,它们不仅简化代码、提升性能,还促进了函数式编程风格。通过具体示例,揭示了这些工具在处理大数据、惰性求值及资源管理等方面的优势。 ####
|
2月前
|
存储 索引 Python
|
1月前
|
JavaScript 前端开发 算法
python中的列表生成式和生成器
欢迎来到瑞雨溪的博客,这里是一位热爱JavaScript和Vue的大一学生的天地。通过自学前端技术2年半,现正向全栈开发迈进。如果你从我的文章中受益,欢迎关注,我将持续更新高质量内容,你的支持是我前进的动力!🎉🎉🎉
24 0
|
2月前
|
Python
Python生成器、装饰器、异常
【10月更文挑战第15天】
|
2月前
|
传感器 大数据 数据处理
深入理解Python中的生成器:用法及应用场景
【10月更文挑战第7天】深入理解Python中的生成器:用法及应用场景
84 1
|
2月前
|
存储 数据处理 Python
深入解析Python中的生成器:效率与性能的双重提升
生成器不仅是Python中的一个高级特性,它们是构建高效、内存友好型应用程序的基石。本文将深入探讨生成器的内部机制,揭示它们如何通过惰性计算和迭代器协议提高数据处理的效率。
|
1月前
|
存储 程序员 数据处理
深入理解Python中的生成器与迭代器###
本文将探讨Python中生成器与迭代器的核心概念,通过对比分析二者的异同,结合具体代码示例,揭示它们在提高程序效率、优化内存使用方面的独特优势。生成器作为迭代器的一种特殊形式,其惰性求值的特性使其在处理大数据流时表现尤为出色。掌握生成器与迭代器的灵活运用,对于提升Python编程技能及解决复杂问题具有重要意义。 ###
|
2月前
|
存储 大数据 数据处理
Python 中的列表推导式与生成器:特性、用途与区别
Python 中的列表推导式与生成器:特性、用途与区别
33 2
|
2月前
|
存储 大数据 Python
Python 中的列表推导式和生成器
Python 中的列表推导式和生成器
26 1
|
3月前
|
机器学习/深度学习 设计模式 大数据
30天拿下Python之迭代器和生成器
30天拿下Python之迭代器和生成器
23 3