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

Python Selenium 库安装使用指南

简介

Selenium 是一个用于自动化浏览器操作的强大工具,它可以模拟用户在浏览器中的行为,例如点击、填写表单、导航等。在本指南中,我们将详细介绍如何安装和使用 Python 的 Selenium 库。

安装 Selenium 库

使用以下命令可以通过 pip 安装 Selenium 库:

 pip install selenium

安装 WebDriver

安装selenium之后,我们暂时还不能直接使用脚本去操作浏览器,还需要我们下载浏览器对应的驱动,Chrome,edge,Firefox等不同浏览器需要下载不一样的驱动,同时,驱动也需要对应浏览器的版本,如114版本的Chrome浏览器,驱动也只能是114版本的Chromedriver。

下载 WebDriver 后,将其可执行文件所在的路径添加到系统的环境变量中,以便 Selenium 可以找到它。

使用示例

1. 第一个示例:打开网页

  1.  from selenium import webdriver

  2.   # 创建一个 Chrome 浏览器实例

  3.   driver = webdriver.Chrome()

  4.   # 打开网页

  5.   driver.get("https://www.baidu.com")

  6.   # 关闭浏览器

  7.   driver.quit()

2. 定位元素

使用 Selenium 可以通过多种方式定位页面中的元素,例如 ID、类名、XPath 等。

  1. from selenium.webdriver.common.by import By

  2.   element = driver.find_element(By.ID, "element_id")

  3.   element = driver.find_element(By.CLASS_NAME, "element_class")

  4.   element = driver.find_element(By.CSS_SELECTOR, "css_selector_expression")

  5.   element = driver.find_element(By.XPATH, "//xpath_expression")

3. 填写表单

  1. input_element = driver.find_element(By.ID,"username")

  2.   input_element.send_keys("your_username")

  3.   password_element = driver.find_element(By.ID,"password")

  4.   password_element.send_keys("your_password")

  5.   submit_button = driver.find_element(By.ID,"submit_button")

  6.   submit_button.click()

4. 点击操作

  1. button = driver.find_element(By.ID,"button_id")

  2.   button.click()

5. 等待元素加载

有时候页面元素不会立即加载完毕,需要等待一段时间。可以使用 WebDriverWait 和 expected_conditions 来实现等待。

  1.  from selenium.webdriver.common.by import By

  2.   from selenium.webdriver.support.ui import WebDriverWait

  3.   from selenium.webdriver.support import expected_conditions as EC

  4.   wait = WebDriverWait(driver, 10)

  5.   element = wait.until(EC.presence_of_element_located((By.ID, "element_id")))

总结

通过这个详细的指南,你应该能够开始使用 Selenium 在 Python 中自动化浏览器操作。根据需要,还可以进一步学习如何处理更复杂的操作、处理弹窗、截图等。Selenium 是一个功能强大的工具,可以在自动化测试、爬虫、数据采集等场景中发挥巨大作用。

 感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方蓝色字体或小卡片即可自行领取。软件测试全套资料分享: 耗时2个月整理的软件测试最全资料包


http://www.kler.cn/a/393358.html

相关文章:

  • 蓝桥杯速成教程{三}(adc,i2c,uart)
  • WebRTC 环境搭建
  • 【CSS in Depth 2 精译_094】16.2:CSS 变换在动效中的应用(下)——导航菜单的文本标签“飞入”特效与交错渲染效果的实现
  • [Visual studio] 性能探测器
  • 使用 pyreqs 快速创建 requirements.txt PyCharm 中 UnicodeDecodeError 问题
  • MacOS下TestHubo安装配置指南
  • MG算法(英文版)题解
  • 基于SpringBoot+Vue的船运物流管理系统(带1w+文档)
  • 17.UE5丰富怪物、结构体、数据表、构造函数
  • Java NIO 核心知识总结
  • 设计模式之责任链模式(Chain Of Responsibility)
  • Apache Doris 2.1.7 版本正式发布
  • Spring——单元测试
  • 阿里云和七牛云对象存储区别和实现
  • 大数据应用开发——实时数据采集
  • 外星人入侵
  • python成长技能之网络编程
  • HarmonyOS的@State装饰器的底层实现
  • elasticsearch实战应用理论实践!2W字带你全部了解elasticsearch
  • UNIX 域套接字
  • 【3D Slicer】的小白入门使用指南四
  • AIoT的协同计算
  • 解锁数据世界:从基础到精通的数据库探索之旅
  • Unity URP自定义后处理系统
  • SQL:给数据表字段拼接字符串
  • HarmonyOS和OpenHarmony区别是什么?鸿蒙和安卓IOS的区别是什么?