python中selenium库的学习与扩展

写这篇文章的目的主要是记录过程,方便未来的自己进行查阅和补充。

据我目前所得知的情报,实现自动化测试主要是利用 selenium 库,对我而言 selenium 库较为简单。

以下是使用 selenium 库实现的过程。参考链接 :Python Selenium库的使用_凯耐的博客-CSDN博客_python selenium

安装python

我目前所使用的python版本为 3.9.10,系统为Win11。Welcome to Python.org  这里放一条python官网的链接方便没有安装python的读者。

安装完python后,打开cmd(命令提示符)输入 python后显示所安装的python版本号则说明安装成功。

安装Selenium库

重新打开cmd输入如下指令,安装Selenium库。

pip install Selenium

安装成功后输入 pip list 指令可以查看已安装的库。

 下载浏览器驱动

Selenium库调用浏览器必须有对应的驱动文件,本人使用的游览器为谷歌游览器(Chrome),Chrome驱动文件下载 https://chromedriver.storage.googleapis.com/index.html

必须按照游览器的版本号下载对应的驱动文件,可以在谷歌游览器右上角的三个小点点下的帮助 - > 关于 Google Chrome,查看游览器版本号。

 得知版本号后再去寻找对应版本的文件夹,根据自己的系统下载对应的驱动文件。

 

解压之后记下该文件的绝对路径,关于驱动文件的使用后面会提到。

 实例演示说明

按键盘的 F12 ,点击 的标志选择输入框。可以看到右边跳转到输入框对应的标签块。

进行元素的定位。如果某个标签元素没有设置id属性,而且该输入框标签元素的class属性带有空格,表示的是这个元素有多个class的属性名称,常规的定位方法在此并不管用。一开始我尝试了多种定位方法,代码运行后却都没有什么反应,网上查找了关于定位带空格的class属性也没有什么成果。这是我找到的也许能成功的链接,但我实验之后并没有成功。标签元素的class属性包含空格的情况_liaozhongxiang的博客-CSDN博客_html中的class属性中有空格

最终使用xpath才得以定位成功:鼠标移到该标签的标签块后按下鼠标右键 - > Copy - > Copy full XPath 复制得到对应标签的Xpath。

把刚刚下载并解压的驱动文件的绝对路径复制粘贴到webdriver.Chrome方法中。

虽然使用相对路径在实验环境也能运行成功,但在此并不推荐使用相对路径,后面会说明。

关于 selenium 库的学习与使用参考文章开头所引用的链接。引入 time 库是为了之后设置等待时间防止报错。

本人是使用idea进行编辑py文件来运行代码,当编写完py文件退出idea后,找到该py文件的文件所在处。

双击运行该文件,运行之后如果弹出一个黑色窗口后又立即消失,原因大概是你所编写驱动文件路径是相对路径,而绝对路径则不会出现这种情况,我不清楚这种情况是不是只有我的电脑才会出现。

虽然能实现,但每天开机运行该文件还是有些麻烦,因此让该文件开机自动运行就可以了。

使用window自带的搜索功能输入注册表,打开注册表编辑器。 

找到

计算器\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 

路径下的文件夹:

 鼠标右键 - > 新建 -  > 字符串数值,编辑数值名称和数值数据,该数据为py文件的绝对路径。

 设置成功后,可以在任务管理器的启动一栏看到刚刚设置的开机启动项。

 但每天要手动开机还是很麻烦,下面给条链接可以设置自动开关机:

从零开始学Python爬虫系列:写好的python文本如何自动运行?Windows自动开机并启动python_冰冻的寒风-CSDN博客_python自动运行

利用Server酱向微信推送消息

如果担心代码有无运行,可以利用Server酱向微信发送打卡成功的消息。

在此先去cmd输入pip list检查你的python是否有requests依赖包,如果没有以下给出安装教程:

Python3安装requests库 - 测试夕 - 博客园

https://sct.ftqq.com/ 进入该链接注册后会得到该微信号的SendKey。

 把得到的Sendkey填入到下面代码中,再把这段添加到代码末尾,这样每当成功运行完打卡代码段后就会向你的微信发送打卡成功的消息。

import requests
key = "填入你的SendKey"
url = "https://sc.ftqq.com/%s.send"%(key)
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'}
payload = {'text': '代码运行成功', 'desp': 'Python用Server酱推送微信模板消息'}
requests.post(url, params=payload, headers=headers)

 打包py文件为exe文件

打包Python selenium 自动化脚本(如下run.py文件)为exe执行文件,使之可以直接在未安装python环境的windows下运行,可以帮助不了解编程相关知识的同学。参考链接:https://www.jb51.net/article/178430.htm

在cmd下输入 pip install pyinstaller 安装 pyinstaller 库。

安装成功后,在cmd下cd到py文件的目录下:

在输入 pyinstaller -F YiQin.py 并按下回车键,开始进行打包成exe文件:

 运行结束后会在该目录的dist文件夹下找到打包的exe文件。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值