博客
关于我
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+flask计算机毕业设计高校教学档案管理系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校教学督导平台(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校数字化迎新系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校校内景点平台(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校校园线上跳蚤市场的系统设计(程序+开题+论文)
    查看>>
    Python图形处理
    查看>>
    python+flask计算机毕业设计高校物品使用互益平台的设计与实现(程序+开题+论文)
    查看>>
    Python函数,匿名函数,高阶函数,内置函数——08
    查看>>
    python+flask计算机毕业设计高校疫情防控管理平台(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校网上迎新系统(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校运动会(程序+开题+论文)
    查看>>
    python+flask计算机毕业设计高校选课系统(程序+开题+论文)
    查看>>
    Python+Jenkins+Allure Report接口自动化测试持续集成
    查看>>
    python+locust电商全流程性能测试
    查看>>
    Python函数运行的可执行文件的终端输出如何以一般方式静音?
    查看>>
    Python+Pytest+Allure+Git+Jenkins接口自动化框架
    查看>>
    python+pytest接口自动化 —— 参数关联
    查看>>
    python+pytest接口自动化 —— 参数关联
    查看>>
    Python+pytest接口自动化 —— 接口测试基础
    查看>>
    python+pytest接口自动化 —— 自动化用例编写思路 (使用pytest编写一个测试脚本)
    查看>>