Selenium(Python web测试工具)基本用法详解

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的基本使用方法分为以下几个步骤:

  1. 导入selenium库
  2. 创建一个浏览器对象
  3. 执行相关操作
  4. 关闭浏览器

导入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测试工具)基本用法详解

基础教程推荐