Selenium是一款自动化测试工具,主要用于模拟浏览器行为进行web应用程序测试,目前支持多种浏览器,包括Chrome、Firefox、Safari等。
Selenium(Python web测试工具)基本用法详解
Selenium是一款自动化测试工具,主要用于模拟浏览器行为进行web应用程序测试,目前支持多种浏览器,包括Chrome、Firefox、Safari等。
安装
安装Selenium需要安装selenium库,可以通过pip进行安装:
pip install selenium
另外还需要相应浏览器的驱动,驱动下载地址请参考官网http://www.seleniumhq.org/download/。
基本使用方法
Selenium的基本使用方法分为以下几个步骤:
- 导入selenium库
- 创建一个浏览器对象
- 执行相关操作
- 关闭浏览器
导入selenium库
在Python脚本中导入selenium库:
from selenium import webdriver
创建一个浏览器对象
在Python脚本中创建一个浏览器对象,代码示例:
browser = webdriver.Chrome()
执行相关操作
在创建浏览器对象之后,可以执行多种操作,例如访问网站、查找网页元素等,其中常用的操作包括:
- 访问网站
browser.get('https://www.baidu.com/')
- 查找网页元素
element = browser.find_element_by_id('kw')
- 输入文本
element.send_keys('Python')
- 点击按钮
button = browser.find_element_by_id('su')
button.click()
- 获取当前网页源码
print(browser.page_source)
关闭浏览器
所有操作执行完毕之后,需要关闭浏览器,代码示例:
browser.close()
示例说明
下面通过两个示例说明如何使用Selenium进行web自动化测试。
示例一:模拟登录豆瓣网
使用Selenium模拟登录豆瓣网并获取个人信息。
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('https://www.douban.com/')
# 输入用户名和密码
username = browser.find_element_by_name('form_email')
password = browser.find_element_by_name('form_password')
username.send_keys('your_username')
password.send_keys('your_password')
# 点击登录按钮
login_button = browser.find_element_by_class_name('btn-submit')
login_button.click()
# 获取个人信息
profile_link = browser.find_element_by_class_name('bn-more')
profile_link.click()
profile_name = browser.find_element_by_css_selector('.info h1')
print(profile_name.text)
browser.close()
示例二:下拉加载网页信息
使用Selenium模拟下拉加载网页信息并获取所有文本信息。
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.get('http://www.duitang.com/search/?kw=%E5%8C%97%E4%BA%AC')
# 下拉加载网页信息
for i in range(3):
browser.execute_script('window.scrollTo(0, document.body.scrollHeight)')
time.sleep(2)
# 获取所有文本信息
texts = []
elements = browser.find_elements_by_css_selector('.meta-title')
for element in elements:
texts.append(element.text)
print(texts)
browser.close()
本文标题为:Selenium(Python web测试工具)基本用法详解


基础教程推荐
- Python,cx_freeze和Windows控制台 2023-11-14
- python – Tkinter创建多个Windows – 使用新的Tk实例或Toplevel或Frame? 2023-11-15
- python爬虫爬取bilibili网页基本内容 2023-08-11
- 如何在python进程之间实时共享对象和数据? 2023-11-14
- 在单个python进程中混合绿色线程和本机线程是否安全? 2023-11-14
- 解决python中画图时x,y轴名称出现中文乱码的问题 2023-12-12
- python-ImportError:没有名为django.core.wsgi的模块(ubuntu) 2023-11-11
- python – Docker Alpine linux运行2个程序 2023-11-15
- Python运算符之Inplace运算符的使用教程 2022-10-20
- 浅析Python自带性能强悍的标准库itertools 2023-08-04