千锋教育-做有情怀、有良心、有品质的职业教育机构

测试Python selenium自动提交表单

来源:千锋教育
发布时间:2023-11-06 08:23:57
分享

运行步骤

我们通过PythonIDLE一步步来运行,这有助于理解,一步一个操作,惊喜不断

1)引入selenium模块

fromseleniumimportwebdriver

2)启动firefox并载入注册页面

bs=webdriver.Firefox()

bs.get('file:///D:/RegisterDEMO/index.htm')

3)查找输入框(用户名、密码、电子邮件)和按钮(提交注册),并填充指定内容

#由于表单内容是嵌在iframe里的,所以需要查找指向至iframe

#如果又想跳出iframe,回到父页面,可以使用bs.switch_to_default_content()

bs.switch_to_frame('register-iframe')

#由于所有的元素都命名了id,可以使用find_element_by_id,还有很多的其它find_element_*大家可以练习

#查找用户名框,并填充“hertz.liu"

account=bs.find_element_by_id('txt_account')

account.send_keys('hertz.liu')

#查找密码框,并填充"pwd123"

pwd=bs.find_element_by_id('txt_password')

pwd.send_keys('pwd123')

#查找电子邮箱框,并填充”hertz.liu@mail.com"

email=bs.find_element_by_id('txt_email')

email.send_keys('hertz.liu@mail.com')

#查找提交按钮,并模拟点击提交

btn_reg=bs.find_element_by_id('btn_register')

btn_reg.click()

4)非常顺利的,完成了表单的填充和提交。一般的表单,由于涉及到数据的操作,开发人员都会设置一些二次确认以防止误操作。此处就是用了简单的confirm来进行二次确认,下面是如何让selenium来识别出confirm框,并点击“确定”按钮

#将查找对象转移至confirm

confirm=bs.switch_to_alert()

#点击确定按钮

confirm.accept()

#如果要取消,使用confirm.dismiss()

#如果是prompt,则可以使用send_keys()先填充内容,再调用accept()或dismiss()

5)关闭浏览器

bs.close()

以上内容为大家介绍了测试Pythonselenium自动提交表单,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:千锋教育。https://www.mobiletrain.org/

声明:本站部分稿件版权来源于网络,如有侵犯版权,请及时联系我们。

相关推荐

  • python多版本与虚拟环境 为什么会用到多个Python版本?用macOS和Ubutntu的同学都知道系统默认安装的Python2.7.x,然后,我们平时python开发用的python3,所以,需要额外安装一个Python3.
  • python 报错信息汇总 1.UserWarning:DataValidationextendionisnotsupportedandwillberemoved可能原因:第三方包与当前python版本不匹配,有部分扩展功能无法
  • Python浅谈并发锁与死锁问题 如果你学过操作系统,那么对于锁应该不陌生。锁的含义是线程锁,可以用来指定某一个逻辑或者是资源同一时刻只能有一个线程访问。这个很好理解,就好像是有一个房间被一把锁锁住了,只有拿到钥匙的人才能进入。每一个
  • Python 中的装饰器是什么 装饰器在Python中是一个非常强大和有用的工具,因为它允许程序员修改函数或类的行为。装饰器允许我们包装另一个函数,以扩展包装函数的行为,而无需修改基础函数定义。这也被称为元编程,因为程序本身在程序运
  • 关于Python 的 Web 自动化测试的实践 Web测试是软件测试中比较的一个分支,而要实现Web自动化测试则要求测试人员能熟练掌握自动化测试工具和编程语言。介绍免费开源的Web测试工具Selenium,以及流行的编程语言Python。根据自动化
  • Python构造函数该怎么写? 在java中构造函数是与类同名的,而且会伴随着实例化的动作而执行。在python中呢?python中的构造函数叫做init方法,全名是__init__具体看下面代码classPerson():__ge