当前位置: 首页 > news >正文

Selenium 自动化测试:常用函数与实例代码

引言

Selenium 是一个强大的自动化测试工具,广泛用于网页应用的自动化测试。它支持多种编程语言,包括 Python。本文将介绍 Selenium 的常用函数,并提供参数解释和代码示例。

Selenium 简介

Selenium 是一个用于自动化 Web 应用测试的工具,它提供了一套完整的工具来模拟用户与浏览器的交互。Selenium 支持多种浏览器,包括 Chrome、Firefox、Safari 等。

安装 Selenium

首先,你需要安装 Selenium。可以通过 pip 安装:

pip install selenium

常用函数与参数解释

1. webdriver.Chrome()

功能:启动 Chrome 浏览器。

参数

  • executable_path:ChromeDriver 的路径。

代码示例

from selenium import webdriverdriver = webdriver.Chrome(executable_path='/path/to/chromedriver')
driver.get('https://www.google.com')

2. find_element_by_id()

功能:通过元素的 ID 定位元素。

参数

  • id_:元素的 ID。

代码示例

element = driver.find_element_by_id('some-id')
element.click()

3. find_elements_by_xpath()

功能:通过 XPath 定位元素。

参数

  • xpath:XPath 表达式。

代码示例

elements = driver.find_elements_by_xpath('//a')
for element in elements:print(element.text)

4. find_element_by_css_selector()

功能:通过 CSS 选择器定位元素。

参数

  • css_selector:CSS 选择器。

代码示例

element = driver.find_element_by_css_selector('.some-class')
element.send_keys('Hello, Selenium!')

5. get()

功能:打开一个网页。

参数

  • url:要打开的网页 URL。

代码示例

driver.get('https://www.example.com')

6. close()

功能:关闭当前窗口。

代码示例

driver.close()

7. quit()

功能:关闭所有关联的窗口,并结束 WebDriver 会话。

代码示例

driver.quit()

实例:自动化登录

下面是一个使用 Selenium 实现自动化登录的示例。

代码示例

from selenium import webdriver
from selenium.webdriver.common.keys import Keys# 启动 Chrome 浏览器
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')# 打开登录页面
driver.get('https://www.example.com/login')# 定位用户名和密码输入框
username = driver.find_element_by_id('username')
password = driver.find_element_by_id('password')# 输入用户名和密码
username.send_keys('your_username')
password.send_keys('your_password')# 定位登录按钮并点击
login_button = driver.find_element_by_id('login-button')
login_button.click()# 验证登录是否成功
assert "Dashboard" in driver.title# 关闭浏览器
driver.quit()
http://www.lryc.cn/news/433082.html

相关文章:

  • python网络爬虫(五)——爬取天气预报
  • 四.海量数据实时分析-Doris数据导入导出
  • 一. 从Hive开始
  • Linux下的PWM驱动
  • 日语输入法平假名和片假名切换
  • Oracle向量搜索及其应用场景
  • 【排序算法】六、快速排序补充:三指针+随机数法
  • PyTorch torch.cdist函数介绍及示例代码
  • CTK框架(四): 插件编写
  • 深入理解C代码中的条件编译
  • Ubuntu16.04操作系统-内核优化
  • Qt/C++编写的Onvif调试助手调试神器工具/支持云台控制/预置位设置等/有手机版本
  • 【原创】java+swing+mysql密码管理器系统设计与实现
  • JavaEE-HTTPHTTPS
  • iLogtail 开源两周年:社区使用调查报告
  • Ubuntu 比较两个文件夹
  • 两数之和--力扣1
  • vue原理分析(三)new()创建Vue实例
  • Spring MVC: 构建Web应用的强大框架
  • 网络学习-eNSP配置NAT
  • 动态规划-最长回文子串
  • 海康威视 嵌入式 面经 海康威视嵌入式软件 嵌入式硬件总结面试经验 面试题目汇总
  • 使用图论技巧——有遍数限制的最短路
  • flume 使用 exec 采集容器日志,转储磁盘
  • 459重复的子字符串
  • 【HarmonyOS NEXT】实现截图功能
  • 小皮面板webman ai项目本地启动教程
  • 从零实现诗词GPT大模型:实现多头自注意力
  • [rk3399 android11]关闭声卡
  • 项目实战 ---- 商用落地视频搜索系统(7)---预处理二次优化