0


Python Selenium WebDriver入门教程:安装、配置与自动化测试使用技巧

Selenium WebDriver是一个强大的工具,用于自动化Web浏览器的操作。它广泛应用于Web测试、数据抓取和自动化任务。本文将详细介绍Selenium WebDriver的安装和基本使用方法,帮助你快速上手。


🧑 博主简介:现任阿里巴巴嵌入式技术专家,15年工作经验,深耕嵌入式+人工智能领域,精通嵌入式领域开发、技术管理、简历招聘面试。CSDN优质创作者,提供产品测评、学习辅导、简历面试辅导、毕设辅导、项目开发、C/C++/Java/Python/Linux/AI等方面的服务,如有需要请站内私信或者联系任意文章底部的的VX名片(ID:

gylzbk

💬 博主粉丝群介绍:① 群内初中生、高中生、本科生、研究生、博士生遍布,可互相学习,交流困惑。② 热榜top10的常客也在群里,也有数不清的万粉大佬,可以交流写作技巧,上榜经验,涨粉秘籍。③ 群内也有职场精英,大厂大佬,可交流技术、面试、找工作的经验。④ 进群免费赠送写作秘籍一份,助你由写作小白晋升为创作大佬。⑤ 进群赠送CSDN评论防封脚本,送真活跃粉丝,助你提升文章热度。有兴趣的加文末联系方式,备注自己的CSDN昵称,拉你进群,互相学习共同进步。

在这里插入图片描述

Python Selenium WebDriver入门教程:安装、配置与自动化测试使用技巧

在这里插入图片描述

1. 什么是Selenium WebDriver?

Selenium WebDriver是Selenium项目的一个核心组件,它提供了一组API,用于控制Web浏览器。WebDriver支持多种浏览器,包括Chrome、Firefox、Safari和Edge等。通过编写Python脚本,你可以自动化浏览器中的各种操作,如点击按钮、填写表单、抓取数据等。

2. 安装Selenium WebDriver

2.1. 安装Selenium库

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

pip install selenium

2.2. 下载浏览器驱动

Selenium WebDriver需要浏览器驱动来与浏览器进行通信。不同的浏览器需要不同的驱动程序:

  • Chrome浏览器需要ChromeDriver
  • Firefox浏览器需要GeckoDriver
  • Edge浏览器需要EdgeDriver
  • Safari浏览器需要SafariDriver

下载相应的驱动程序,并将其路径添加到系统环境变量中。以ChromeDriver为例讲述下载安装过程。

3.3.1 下载安装ChromeDriver

  1. 访问淘宝镜像上的ChromeDriver下载页面。在这里插入图片描述
  2. 选择与你的Chrome浏览器版本一致的ChromeDriver版本。上述网站最高收录到114.0.5735.90版本,之后的版本就没有收录了,比如我的127.0.6533.119版本已经没有收录了,此时可以访问Chrome for Testing availability来获取最新版本的下载链接。在这里插入图片描述
  3. 下载对应操作系统的压缩包文件,并解压缩。在这里插入图片描述
  4. 比如我是Windows64位系统,那么我下载的就是win64版本,将解压后的chromedriver.exe文件路径添加到系统环境变量中或者解压到某系统环境变量目录(如C:\WINDOWS)下即可。在这里插入图片描述

3.3.2 127.0.6533.119版本ChromeDriver下载地址

版本系统平台下载地址127.0.6533.119 (r1313161)linux64https://storage.googleapis.com/chrome-for-testing-public/127.0.6533.119/linux64/chromedriver-linux64.zip127.0.6533.119 (r1313161)mac-arm64https://storage.googleapis.com/chrome-for-testing-public/127.0.6533.119/mac-arm64/chromedriver-mac-arm64.zip127.0.6533.119 (r1313161)mac-x64https://storage.googleapis.com/chrome-for-testing-public/127.0.6533.119/mac-x64/chromedriver-mac-x64.zip127.0.6533.119 (r1313161)win32https://storage.googleapis.com/chrome-for-testing-public/127.0.6533.119/win32/chromedriver-win32.zip127.0.6533.119 (r1313161)win64https://storage.googleapis.com/chrome-for-testing-public/127.0.6533.119/win64/chromedriver-win64.zip

3. 使用Selenium WebDriver

3.1. 导入库

from selenium import webdriver

3.2. 启动浏览器

以下是启动Chrome浏览器的示例代码:

# 启动Chrome浏览器
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

3.3. 打开网页

使用

get

方法打开指定的URL:

# 打开指定的网页
driver.get('https://www.example.com')

3.4. 查找元素

使用

find_element

find_elements

方法查找页面中的元素。例如,查找页面中的按钮:

# 查找按钮元素
button = driver.find_element_by_id('submit-button')

3.5. 进行操作

找到元素后,可以进行各种操作,如点击、输入文本等:

# 点击按钮
button.click()# 输入文本
text_field = driver.find_element_by_name('username')
text_field.send_keys('myusername')

3.6. 获取元素属性和文本

你还可以获取元素的属性和文本内容:

# 获取元素的属性
attribute_value = button.get_attribute('class')# 获取元素的文本内容
text_content = text_field.text

3.7. 关闭浏览器

完成操作后,记得关闭浏览器:

# 关闭浏览器
driver.quit()

4. 示例代码

以下是一个完整的示例代码,展示了如何使用Selenium WebDriver自动化浏览器操作:

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

# 启动Chrome浏览器
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')# 打开指定的网页
driver.get('https://www.example.com')# 查找并点击按钮
button = driver.find_element(By.ID,'submit-button')
button.click()# 查找并输入文本
text_field = driver.find_element(By.NAME,'username')
text_field.send_keys('myusername')# 获取元素的属性和文本内容
attribute_value = button.get_attribute('class')
text_content = text_field.text

# 打印获取的信息print(f'Button class: {attribute_value}')print(f'Text field content: {text_content}')# 关闭浏览器
driver.quit()

5. 常见问题和解决方法

5.1. 浏览器驱动路径错误

如果你遇到浏览器驱动路径错误,请确保已将浏览器驱动的路径添加到系统环境变量中,或者在启动浏览器时指定驱动路径。

5.2. 元素查找失败

如果你遇到元素查找失败的问题,请确保使用了正确的查找方法和定位器。可以尝试使用不同的定位器(如ID、Name、XPath等)进行查找。

5.3. 浏览器版本不兼容

如果你遇到浏览器版本不兼容的问题,请确保浏览器版本和驱动程序版本匹配。可以通过更新浏览器或驱动程序解决此问题。

6. 进阶使用

6.1. 等待元素加载

在某些情况下,页面元素需要一定时间才能加载完成。Selenium提供了显式等待和隐式等待两种方式来解决这一问题。

6.1.1. 显式等待

显式等待是指在指定的时间内反复检查某个条件是否成立,直到条件成立或超时为止。例如,等待按钮元素可点击:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 等待按钮元素可点击
button = WebDriverWait(driver,10).until(
    EC.element_to_be_clickable((By.ID,'submit-button')))
button.click()

6.1.2. 隐式等待

隐式等待是指在指定的时间内等待页面中的所有元素加载完成。例如,设置隐式等待时间为10秒:

# 设置隐式等待时间
driver.implicitly_wait(10)# 查找元素
button = driver.find_element(By.ID,'submit-button')
button.click()

6.2. 处理弹窗

在自动化过程中,可能会遇到浏览器弹窗。Selenium提供了处理弹窗的方法。

6.2.1. 接受弹窗

# 切换到弹窗并接受
alert = driver.switch_to.alert
alert.accept()

6.2.2. 拒绝弹窗

# 切换到弹窗并拒绝
alert = driver.switch_to.alert
alert.dismiss()

6.3. 切换窗口和标签页

在自动化过程中,可能需要在多个窗口或标签页之间切换。Selenium提供了切换窗口和标签页的方法。

6.3.1. 获取所有窗口句柄

# 获取当前所有打开的窗口句柄
windows = driver.window_handles

6.3.2. 切换到指定窗口

# 切换到指定窗口
driver.switch_to.window(windows[1])

7. 总结

Selenium WebDriver是一个强大的工具,能够帮助你自动化Web浏览器的操作。本文详细介绍了Selenium WebDriver的安装和使用方法,并提供了一些示例代码,帮助你快速上手。希望这篇文章能帮助你更好地使用Selenium WebDriver进行Web自动化任务。


本文转载自: https://blog.csdn.net/g310773517/article/details/141187877
版权归原作者 I'mAlex 所有, 如有侵权,请联系我们删除。

“Python Selenium WebDriver入门教程:安装、配置与自动化测试使用技巧”的评论:

还没有评论