python+selenium 实现自动化填充复杂表单

有没有可以用python+selenium 实现自动化填充复杂表单的方法,填写的表单类似于注册公司,填写申请人、证件号码之类,由于输入框较多,感觉一个一个元素定位非常复杂,有没有简便一点的方法

目前在找自动填充工具

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7767429
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:selenium+python自动化环境搭建
  • 除此之外, 这篇博客: Python中安装Selenium模块、加载FireFox驱动的注意事项中的 一、多版本Python切换 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 网上介绍最多的办法是修改python.exe的名称,在后面加上版本号加以区分,例如python27.exe、python37.exe之类的,当然,前提是安装路径都已经配置了环境变量。

    如果不想修改名称,还有一种办法是在安装路径下进入Python,这样会自动加载当前路径下的Python。

    自己的机器中配置了Python36、Python37的环境变量,但python命令默认进入的是Python36版本,如下图。如果要在CMD窗口下使用Python37版本,可以进入Python37的安装路径,再输入python命令。

    进入Python37的安装路径除了DOS命令切换之外,也可以在Python37的文件夹路径中直接输入cmd,这样可以直接打开当前路径的CMD窗口。

     

  • 您还可以看一下 大牛测试老师的Python3 Selenium自动化测试项目实战课程中的 自动化测试元素定位小节, 巩固相关知识点

要实现自动化填充复杂表单,可以使用 Python 和 Selenium 结合的方式。

Selenium 是一个用于 Web 应用程序测试的工具,它将浏览器操作模拟成用户行为。Python 可以通过 Selenium 与浏览器进行交互并控制浏览器完成自动化操作。

下面是一个简单的示例程序,演示如何使用 Python 和 Selenium 自动化填充表单:

from selenium import webdriver

# 创建 Chrome 浏览器对象
browser = webdriver.Chrome()

# 打开目标网站
browser.get('https://example.com/form')

# 填写表单
input1 = browser.find_element_by_name('username')
input1.send_keys('my_username')
input2 = browser.find_element_by_name('password')
input2.send_keys('my_password')
input3 = browser.find_element_by_name('email')
input3.send_keys('my_email@example.com')
checkbox = browser.find_element_by_name('agree_to_terms')
checkbox.click()
submit_button = browser.find_element_by_css_selector('input[type="submit"]')
submit_button.click()

# 关闭浏览器
browser.quit()


以上代码使用了 Selenium 的 webdriver 模块创建了 Chrome 浏览器对象,并打开目标网站。然后,使用 find_element_by_name() 方法获取表单元素,并使用 send_keys() 方法填写表单。最后,单击提交按钮并关闭浏览器。

对于一些比较复杂的表单,还需要处理一些特殊情况,例如下拉框、多选框、日期选择等。这时需要使用 Selenium 提供的更多方法来模拟用户操作,例如 find_element_by_xpath()、select_by_value()、switch_to.frame() 等。

总之,Python 和 Selenium 可以很好地实现自动化填充复杂表单,大大提高了测试效率和准确性。
在这里推荐一个我自己创建的软件测试交流群,QQ:735745871,群中会不定期的分享软件测试资源,测试面试题以及测试行业资讯,大家可以在群中积极交流技术,还有大佬为你答疑解惑。