博客
关于我
Python+Selenium登录
阅读量:797 次
发布时间:2023-03-08

本文共 1599 字,大约阅读时间需要 5 分钟。

#coding=utf-8

使用Selenium进行自动化测试

最近遇到的问题

在学习Selenium自动化测试框架时,我遇到了一个常见问题:如何通过代码实现对特定页面元素的交互操作。以下是我的解决方案和实现过程。


实现目标

通过Selenium脚本实现以下功能:

  • 打开浏览器并导航至指定页面
  • 输入账号信息并完成登录
  • 检查页面中特定元素的存在性

  • 实现环境

    • 工具:Selenium(版本3.141.0)
    • 驱动:Chrome浏览器(版本91.0.4472.124)
    • 编程语言:Python(版本3.10.4)

    代码实现

    from selenium import webdriver# 初始化浏览器driver = webdriver.Chrome()driver.maximize_window()  # 最大化窗口driver.implicitly_wait(8)  # 设置隐式等待时间# 打开指定页面driver.get("https://i.cnblogs.com/")# 输入账号信息account_element = driver.find_element_by_xpath("//input[@id='input1']")account_element.send_keys("xiaomogu110")# 输入密码password_element = driver.find_element_by_xpath("//input[@id='input2']")password_element.send_keys("yH198712!")# 点击登录按钮signin_button = driver.find_element_by_xpath("//a[@id='signin']")signin_button.click()# 等待加载完成time.sleep(2)# 检查是否存在指定文本text_element = driver.find_element_by_xpath("//a[@id='post_title_link_7581145']")if text_element.text == "python+Selenium第一个脚本":    print("测试成功,结果与预期一致!")    driver.close()

    实现说明

  • 初始化浏览器:通过webdriver.Chrome()创建Chrome浏览器实例,最大化窗口后设置隐式等待时间(8秒),以便等待页面加载完成。
  • 导航至指定页面:使用driver.get("https://i.cnblogs.com/")打开目标页面。
  • 账号输入:定位账号输入框并输入用户名xiaomogu110。
  • 密码输入:定位密码输入框并输入密码yH198712!。
  • 登录操作:定位登录按钮并点击。
  • 等待加载:设置2秒的显式等待,确保页面加载完成。
  • 检查文本:定位特定文本元素,检查其是否存在于页面中。如果存在指定文本,输出成功信息并关闭浏览器。

  • 关键点总结

    • 隐式等待:避免了显式等待的繁琐操作,适用于页面加载时间不一致的情况。
    • 定位元素:通过find_element_by_xpath准确定位元素,减少了元素定位的不确定性。
    • 显式等待:在关键操作前设置显式等待,确保操作在页面完全加载后执行。

    小贴士

    • 代码注释:在代码中添加注释可以提高可读性,但需注意不要过多,避免影响代码性能。
    • 版本控制:在团队协作中,建议使用版本控制工具记录每一次修改,避免代码冲突。
    • 异常处理:在实际应用中,建议为每一步操作添加异常处理,确保脚本稳定运行。

    总结

    通过以上实现,我成功完成了Selenium自动化测试脚本的编写,并验证了其在实际应用中的有效性。这个过程让我对Selenium的基本功能有了更深入的理解,也掌握了如何通过代码实现对页面元素的交互操作。

    转载地址:http://lgofk.baihongyu.com/

    你可能感兴趣的文章
    python函数定义的基本格式_零基础学python-2.19 定义函数、调用函数与默认参数
    查看>>
    Python+Selenium之数据驱动测试的实现
    查看>>
    python函数定义与使用+返回值简解
    查看>>
    Python+Selenium登录
    查看>>
    Python日期时间模块
    查看>>
    Python函数合集:足足68个内置函数请收好!
    查看>>
    Python+Selenium自动化测试项目实战
    查看>>
    Python+Selenium自动化测试项目实战【建议收藏】
    查看>>
    Python+Selenium自动化测试:Page Object模式
    查看>>
    python+selenium进行cnblog的自动化登录测试
    查看>>
    Python函数只返回第一个值而不是数据框
    查看>>
    Python+SQL实战:京东用户行为数据分析案例解析(上)
    查看>>
    Python+SQL实战:京东用户行为数据分析案例解析(下)
    查看>>
    PYTHON+Twisted+sqlanydb=ABORT()
    查看>>
    Python函数之返回值、作用域和局部变量
    查看>>
    Python+统计学 | 探索常用的数据分析统计分布
    查看>>
    python, selenium中用于切换帧的函数
    查看>>
    python函数
    查看>>
    python----线程、进程、协程的区别及多线程详解
    查看>>
    python---5
    查看>>