Selenium自动化测试神器 - Python网页自动化入门指南

📝 面试求职: 「面试试题小程序」 ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)

📝 职场经验干货:

软件测试工程师简历上如何编写个人信息(一周8个面试)

软件测试工程师简历上如何编写专业技能(一周8个面试)

软件测试工程师简历上如何编写项目经验(一周8个面试)

软件测试工程师简历上如何编写个人荣誉(一周8个面试)

软件测试行情分享(这些都不了解就别贸然冲了.)

软件测试面试重点,搞清楚这些轻松拿到年薪30W+

软件测试面试刷题小程序免费使用(永久使用)


大家好啊!今天我要和大家分享一个特别实用的Python库 - Selenium!作为一名经常和网页打交道的程序员,我深知手动测试网页有多么繁琐。但有了Selenium这个自动化测试神器,我们就能轻松地实现网页操作的自动化,节省大量时间!

什么是Selenium?

Selenium是一个强大的网页自动化测试工具,它能模拟真实用户在浏览器中的各种操作。无论是点击按钮、填写表单,还是获取网页内容,Selenium都能帮我们轻松搞定。

准备工作

在开始使用Selenium之前,我们需要:

  1. 安装Selenium库:

pip install selenium
  1. 安装浏览器驱动(以Chrome为例):

pip install webdriver-manager

第一个Selenium程序

来看看如何用Selenium打开一个网页:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from webdriver_manager.chrome import ChromeDriverManager

# 配置Chrome选项
chrome_options = Options()
chrome_options.add_argument('--start-maximized')  # 启动时最大化窗口

# 初始化浏览器驱动
driver = webdriver.Chrome(
    service=Service(ChromeDriverManager().install()),
    options=chrome_options
)

# 打开网页
driver.get('https://www.python.org')

# 获取网页标题
print(f“网页标题: {driver.title}”)

# 关闭浏览器
driver.quit()

常用操作技巧

1. 定位元素

Selenium提供了多种方式来定位网页元素:

# 通过ID查找
element = driver.find_element('id', 'search')

# 通过类名查找
element = driver.find_element('class name', 'submit-button')

# 通过XPath查找
element = driver.find_element('xpath', '//button[@type=“submit”]')

小贴士 :建议优先使用ID和CSS选择器来定位元素,因为它们的性能最好!

2. 模拟用户操作

# 在搜索框输入内容
search_box = driver.find_element('name', 'q')
search_box.send_keys('Python教程')

# 点击按钮
submit_button = driver.find_element('css selector', 'button.search-button')
submit_button.click()

# 清除输入框内容
search_box.clear()

3. 等待机制

网页加载需要时间,所以要学会等待:

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

# 显式等待
element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, 'result'))
)

注意事项 :不要使用time.sleep(),这样会使脚本执行效率降低。应该使用显式等待或隐式等待。

实战小例子

来做一个简单的自动登录程序:

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

def auto_login(url, username, password):
    driver = webdriver.Chrome()
    try:
        # 打开登录页面
        driver.get(url)
        
        # 等待用户名输入框出现
        username_input = WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.ID, 'username'))
        )
        
        # 输入用户名和密码
        username_input.send_keys(username)
        driver.find_element(By.ID, 'password').send_keys(password)
        
        # 点击登录按钮
        driver.find_element(By.ID, 'login-button').click()
        
        # 等待登录成功
        WebDriverWait(driver, 10).until(
            EC.presence_of_element_located((By.CLASS_NAME, 'welcome-message'))
        )
        print(“登录成功!”)
        
    except Exception as e:
        print(f“登录失败: {str(e)}”)
    finally:
        driver.quit()

练习题

  1. 尝试编写一个程序,自动打开百度,搜索“Python”,并获取第一页的搜索结果。

  2. 使用Selenium模拟在网页上滚动操作,并截取网页截图。

小伙伴们,今天的Python学习之旅就到这里啦!记得动手敲代码,有问题随时在评论区问我哦。Selenium的魅力远不止于此,建议大家多尝试不同的网页自动化场景。祝大家学习愉快,Python学习节节高!‌

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值