博客
关于我
Python+Selenium登录
阅读量:796 次
发布时间: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处理数据方向之OpenCV
    查看>>
    python处理一亿条数据_Python数据分析实战(一)
    查看>>
    Python处理PDF神器:PyMuPDF的安装与使用
    查看>>
    Python处理Excel数据
    查看>>
    Python基础:集合与文件操作
    查看>>
    Python基础:搭建开发环境(1)
    查看>>
    PYTHON基础:如何阅读N个整数,直到#39;
    查看>>
    Python基础:11变量作用域和闭包
    查看>>
    Python基础: with模式和__enter__ 和 __exit__
    查看>>
    Python基础(7)--函数
    查看>>
    Python基础部分-while循环,格式化输出
    查看>>
    Python基础语法:顺序语句结构
    查看>>
    Python基础语法:理解代码与写代码
    查看>>
    Python基础语法:条件和分支
    查看>>
    Python基础语法:基本数据类型(数字类型和布尔类型)
    查看>>
    Python基础语法:基本数据类型(列表)
    查看>>
    Python基础语法:内置函数
    查看>>
    Python基础语法:你不得不知的几种变量类型
    查看>>
    Python基础语法教程,零基础入门到精通,看完这一篇就够了
    查看>>
    Python基础语法与执行脚本的3种方式
    查看>>