Python Selenium自动化测试基础教程:从环境搭建到元素定位

Leo
Leo
发布时间:2026-10-13 | 5人浏览过
原创

本文详细介绍Python中Selenium库的基本使用方法,涵盖从导入包、创建驱动对象到请求页面、获取源码及关闭浏览器的完整流程。重点解析find_element与find_elements的定位语法差异,以及如何通过ID、XPath等方式操作点击、输入和获取数据。此外,还包含Cookie处理、JS执行、窗口切换及弹窗处理等高级技巧,帮助开发者高效进行Web自动化测试。

本文旨在阐述Python Selenium库的核心用法,供读者参考学习。

Selenium是一款Web自动化测试工具,它可直接在浏览器环境中运行,接收指令并自动加载页面,从而获取所需数据。

Selenium基础操作流程

Selenium的基础操作流程

第一步:导入必要的库包


from selenium import webdriver

第二步:初始化并创建驱动对象


webdriver.PhantomJS()

第三步:发起页面请求


driver.get("http://www.baidu.com")

第四步:获取并查看网页源码


driver.page_source

第五步:关闭无界面浏览器实例


driver.quit()

第六步:通过ID定位页面元素


drivrt.find_element_by_id("kw")

第七步:执行点击事件操作


click()

第八步:向输入框赋值


send_keys()

元素定位与数据获取

Selenium的元素定位机制

常用的元素定位语法如下:

find_element_by_id(返回单个元素对象) find_elements_by_xpath(返回包含多个元素的列表) find_elements_by_link_text(根据完整链接文本获取元素列表) find_elements_by_partial_link_text(根据链接部分文本获取元素列表) find_elements_by_tag_name(根据标签名称获取元素列表) find_elements_bu_class_name(根据类名获取元素列表,注意此处原文拼写可能为by_class_name)

注意事项

需区分find_element与find_elements:前者返回匹配到的第一个元素,后者因带有s后缀,返回包含所有匹配元素的列表。

数据获取方法

获取元素文本内容:element.text

获取元素属性值:element.get_attribute("href")

高级功能:Cookie、JS执行与窗口切换

Selenium的其他常用功能

Selenium对Cookie的处理

driver.get_cookies(),该方法返回完整的Cookie信息,不仅包含name和value,还包含domain等其他字段。


# 把cookie转换为字典
cookies_dict = {cookie['name']: cookie['value'] for cookie in driver.get_cookies()}
# 删除一条cookie
driver.delete_cookie("CookieName")
# 删除所有cookie
driver.delete_all_cookies()

页面等待机制


time.sleep(10)

在Selenium中执行JavaScript代码


driver.execute_script('js语句')

switch方法用于切换上下文的操作

1. 窗口句柄切换


# 获取当前所有的窗口
current_windows = driver.window_handles
# 根据窗口索引进行切换
driver.switch_to.window(current_windows[1])

2. Selenium默认无法直接访问frame框架内的内容,解决方法是使用driver.switch_to.frame()

3. 处理页面弹出的提示框


driver.switch_to.alert()

页面前进与后退功能


driver.forward() # 前进
driver.back(() # 后退

Selenium优缺点总结

Selenium的优缺点分析

  • 优点:Selenium能够执行页面内的JavaScript代码,对于处理JS渲染的数据以及模拟登录等场景较为便捷。
  • 缺点:由于在获取页面过程中会发送大量请求,导致运行效率相对较低。

如需了解更多Python相关知识,可参考本站专题:《Python Socket编程技巧总结》、《Python正则表达式用法总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

希望上述内容能对您的Python编程实践有所帮助。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表