【程序员趣味】用Python制作带字小人举牌

一、安装selenium库

pip install selenium

结果如下:

【程序员趣味】用Python制作带字小人举牌_第1张图片

1.chromedriver驱动的配置

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

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

2.检查谷歌浏览器的版本

提供一个地址

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

点击“右上角三个点” --> 点击“设置” --> 点击 “关于chrome”,出现如下界面。
【程序员趣味】用Python制作带字小人举牌_第2张图片

【程序员趣味】用Python制作带字小人举牌_第3张图片

3.下载chromedriver驱动

下面这个地址可以供大家选择各种版本驱动程序

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

从上面的图中可以看出,谷歌浏览器的版本是【92.0.4515.131】,这里我们选择的对应版本的驱动,然后点进该文件后,可以根据我们的操作系统,选择对应的驱动。

4.chromedriver驱动的配置

解压上述下载好的文件,并将解压后我们得到的chromedriver.exe文件,需要放到Python的安装路径下,你可以查看你的Python解释器安装在哪里,然后,将chromedriver.exe放置和Python.exe在一起
【程序员趣味】用Python制作带字小人举牌_第4张图片

5.检验selenium是否可用

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

from selenium import webdriver
browser = webdriver.Chrome()

结果如下:

【程序员趣味】用Python制作带字小人举牌_第5张图片

二、selenium库制作举牌小人

提供一个网址,可以利用这个网址,基于selenium库,制作一个好看的举牌小人。

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

1.分析网页

首先,我们打开上述网址,操作步骤简单的描述下。

  1. 在①处,输入相关字
  2. 在②处的生成,此时该图会发生变化
  3. 最后点击下载,保存早本地使用

【程序员趣味】用Python制作带字小人举牌_第6张图片

然后,我们就要使用库,模拟人为操作浏览器,实现下面这三步操作。

  1. 定位“输入框”
  2. 定位“生成”这二字的节点
  3. 定位“下载”这二字的节点

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

【程序员趣味】用Python制作带字小人举牌_第7张图片

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

【程序员趣味】用Python制作带字小人举牌_第8张图片

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

【程序员趣味】用Python制作带字小人举牌_第9张图片

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

【程序员趣味】用Python制作带字小人举牌_第10张图片

上代码,代码中有详细的注释,就算是新手都能一看就懂的。

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制作带字小人举牌_第11张图片

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

【程序员趣味】用Python制作带字小人举牌_第12张图片
【程序员趣味】用Python制作带字小人举牌_第13张图片

你们的三连(点赞,收藏,评论)是我持续输出的动力,感谢。①有趣的源码与学习经验,②工具安装包,③专业解答,④学习资料共享

点击领取福利

你可能感兴趣的:(实用版推荐,python,后端,经验分享)