Selenium自动化测试工具安装和使用(PyCharm)

一,了解驱动

手工测试我们很了解,假设我要测试百度首页是否正常,只需要鼠标点击打开浏览器,然后输入百度网址即可

但是对于程序来说,打开浏览器,需要用到对应的驱动,就好比你给电脑装了个外置音箱,但是要想让它发出声音,得在电脑上安装对应的音频驱动才行

所以程序想要打开web浏览器就选哦安装web驱动, 即WebDriver,它以本地化的方式驱动浏览器

Chrome浏览器对应驱动的下载网址为:Chrome for Testing availability

如果需要下载其它浏览器可以浏览下面页面:

Unable to Locate Driver Error | Selenium

注意:必须使用跟浏览器版本配到的驱动才可以打开浏览器,若版本不匹配,就无法打开浏览器

这也就意味着,如果浏览器更新了,则需要再次按照上面步骤再次下载驱动,整个流程非常麻烦

所以Selenium提供了一个驱动管理工具webdriver-manager,它会自动根据浏览器版本的更新去更新对应的驱动,无需再手动下载最新驱动

二,安装webdriver-manager

首先需要安装好python环境,安装步骤之前已经发布过:

Python学习(一)------ 编程环境安装_pycharm python环境搭建-CSDN博客

直接打开cmd,输入下面命令即可:

bash 复制代码
pip install webdriver-manager

它是一个命令行工具,可以在后面由 selenium 执行自动下载驱动的作用

三,安装Selenium

编写自动化脚本需要借助selenium工具,安装步骤和前面是一样的,但是selenium工具的版本也有很多,有些版本中函数的传参和使用方式都很不一样,为了方便演示,我们在这里使用4.0.0版本,如下:

四,简单示例

首先是创建一个项目,并打开设置看下我们的 webdriver-manager 和 selenium 有没有被导入进来:

创建一个文件后即可开始编写脚本,一个简单完整的自动化脚本步骤如下:

  1. 打开浏览器
  2. 输入网址
  3. 找到百度输入框,输入内容
  4. 点击百度一下按钮
  5. 关闭浏览器
python 复制代码
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By
from webdriver_manager.chrome import ChromeDriverManager
import time

ChromIns=ChromeDriverManager().install() #安装驱动,是给这个程序装一个
driver=webdriver.Chrome(service=Service(ChromIns)) #创建谷歌浏览器驱动对象,之后就可以通过这个对象来驱动浏览器
time.sleep(2)
driver.get("https://www.baidu.com") #输入百度网址,要输入完整URL
time.sleep(2)
driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("你好") #找到输入框并输入内容
time.sleep(2)
driver.find_element(By.CSS_SELECTOR,"#su").click() #然后找到按钮并点击
time.sleep(2)
driver.quit() #关闭浏览器

在执行脚本后可能会出现类似网络问题的红色报错,可以用梯子解决

需要说明的就是上面如何找到页面对应元素的部分,关于 #kw 和 #su,关说不好理解,直接看下面gif:

我们代码中使用的是 By.CSS_SELECTOR 表示选择的是 selector 选择器,而如上面gif中,我们选择selector方式Copy后,粘贴的也是 #su

所以我们就是用这样的方式来命中页面上的元素的 "#kw" 对应的是搜索框,"#su" 对应的就是"百度一下"按钮

后面我们也就可以使用这样的方式来获取页面对应标签的内容

相关推荐
深圳安锐科技有限公司13 分钟前
斜拉桥、铁塔 4G 一体化索力计 工地快速加装方案怎么实施?
自动化·实时监测·自动化监测·桥梁监测·结构健康监测·索力计·索力监测仪
北京耐用通信1 小时前
破解AGV多协议互联难题:耐达讯自动化Profinet转Devicenet网关如何实现高效协同
人工智能·科技·物联网·网络协议·自动化·信息与通信
梦帮科技3 小时前
OpenClaw 桥接调用 Windows MCP:打造你的 AI 桌面自动化助手
人工智能·windows·自动化
feasibility.3 小时前
AI 编程助手进阶指南:从 Claude Code 到 OpenCode 的工程化经验总结
人工智能·经验分享·设计模式·自动化·agi·skills·opencode
辣香牛肉面3 小时前
Wireshark v4.6.2 开源免费网络嗅探抓包工具中文便携版
网络·测试工具·wireshark
xiaobaibai1534 小时前
营销自动化终极形态:AdAgent 自主闭环工作流全解析
大数据·人工智能·自动化
池央6 小时前
CANN 诊断工具链深度解析:oam-tools 的自动化故障信息收集、软硬件状态快照与 AI Core 错误溯源机制
运维·人工智能·自动化
池央6 小时前
CANN 算子合规性与迁移性:自定义算子设计中的安全边界与属性兼容性
人工智能·自动化·信号处理
乾元6 小时前
终端安全(EDR):用深度学习识别未知勒索软件
运维·人工智能·网络协议·安全·网络安全·自动化·安全架构
麦兜*6 小时前
全面掌握深度学习部署技术:基于TensorRT与Triton Inference Server实现高性能模型推理和自动化Pipeline的企业级落地实践指南
人工智能·深度学习·自动化