`

实现数据驱动批量新增操作

阅读更多

功能逻辑;

1,从文本里面读取身份证

2,读取的身份证循环写入新增信息

知识点:

1,数据读取

2,获取窗口句柄,操作窗口(关闭,切换,刷新等)

3,切换frame

4,循环

代码如下:

 

#coding=utf-8
import random
from selenium import  webdriver
import time
# print("启动浏览器。。。。。")
source=open("文件路径","r")
values=source.readlines()
source.close()

driver=webdriver.Firefox()
print("打开青少年屈光登录页面。。。。。。。。。。")
nowhandle=driver.current_window_handle
print(nowhandle)
url='url'
driver.get(url)
time.sleep(2)
print("输入用户名密码")
driver.find_element_by_id("username").clear()
driver.find_element_by_id("username").send_keys("zhangjiang")
driver.find_element_by_id("password").clear()
driver.find_element_by_id("password").send_keys("123456")
driver.find_element_by_id("submitId").click()
print("登录。。。")
time.sleep(3)
driver.find_element_by_xpath("//li[@id='qg']/a/img").click()
print("进入青少年屈光首页。。。。")
time.sleep(2)
# 获取窗口句柄,关掉之前窗口,切换到最新窗口
allhandles=driver.window_handles
for handle in allhandles:
    print(driver.title)
    if handle !=nowhandle:
        driver.switch_to.window(nowhandle)
        driver.close()
        driver.switch_to.window(handle)
    # else:
    #     driver.close()
for idcard in values :
    time.sleep(2)
    driver.find_element_by_xpath("//div[@class='menu_dropdown bk_2']/dl/dt/i[@class='Hui-iconfont menu_dropdown-arrow']").click()
    print("打开录入查询菜单。。。。")
    handlenow1=driver.current_window_handle
    print(handlenow1)
    time.sleep(3)
    driver.find_element_by_xpath("//div[@class='menu_dropdown bk_2']/dl/dd/ul/li/a").click()
    print("进入档案管理页面。。。。。。。。")
    handlenow=driver.current_window_handle
    print(handlenow)
    # 切换frame
    frame=driver.find_elements_by_tag_name("iframe")
    driver.switch_to.frame(frame[1])
    time.sleep(2)
    driver.find_element_by_xpath("//div[@id='add']/a").click()
    print("新增档案信息。。。")
    time.sleep(2)
    iframe3=driver.find_element_by_xpath("//iframe[contains(@id,'layui-layer-iframe')]")
    driver.switch_to.frame(iframe3)
    driver.find_element_by_xpath("//input[@id='name']").clear()
    driver.find_element_by_xpath("//input[@id='name']").send_keys(u"尹飞雪")
    driver.find_element_by_id("personcardNo").clear()
    driver.find_element_by_id("personcardNo").send_keys(idcard)
    driver.find_element_by_xpath("//div[@class='j_hform']/p[4]/input").clear()
    driver.find_element_by_xpath("//div[@class='j_hform']/p[4]/input").send_keys("15868686868")
    time.sleep(3)
    driver.find_element_by_id("saveBtn").click()
    # 刷新页面
    driver.refresh()
    print(idcard)

 

 

 

分享到:
评论

相关推荐

    odbc 数据库批量插入操作

    应用程序通过ODBC API发送SQL语句,驱动管理器负责解析并将其转发给相应的数据库驱动,从而实现数据交互。 批量插入数据通常涉及以下步骤: 1. **建立ODBC数据源**:在操作系统层面配置ODBC数据源,包括设置数据库...

    Java 实现从Excel批量导入数据到MySQL

    本文将详细介绍如何利用Java实现从Excel批量导入数据到MySQL数据库。 首先,我们需要了解两个关键的库:Apache POI 和 JDBC。Apache POI 是一个开源的Java库,用于读写Microsoft Office格式的文件,包括Excel。JDBC...

    ibatis应对批量update

    通过上述步骤,我们可以在ibatis中实现高效的批量更新操作,极大地提升系统处理大规模数据的能力。这种方法不仅适用于Java环境下的开发,也适用于其他支持ibatis的编程语言。总之,ibatis提供的批量更新功能是处理...

    ArcMap数据驱动制图

    ArcMap,作为Esri公司的ArcGIS软件中的主要组件,提供了强大的数据驱动页面功能,帮助用户实现这一目标。下面将详细阐述使用ArcMap进行数据驱动制图的过程。 首先,要进行数据驱动制图,你需要准备相关的地理数据,...

    ArcPy结合数据驱动模块的批量制图(GIS思维)

    本文将深入探讨如何利用ArcPy,Esri的Python库,结合数据驱动页面功能来实现高效的批量制图过程。ArcGIS是业界领先的GIS软件,其强大的功能和灵活性使得它成为大数据和云计算环境中的首选工具。 首先,我们要理解...

    数据批量删除/同时删除多条数据

    2. **安全考虑**:批量删除操作必须谨慎执行,因为一旦数据被删除,往往无法恢复。在执行前,确保已备份重要数据,或者使用`TRUNCATE TABLE`(不保留事务日志,速度更快,但不可回滚)而非`DELETE`,以防止误删。 3...

    CH554模拟CDC类,PC免驱,可以实现快速批量上下传数据

    这种配置使得CH554能够实现与个人计算机(PC)之间的快速批量数据传输,简化了用户的使用流程,因为用户不再需要安装特定的驱动程序来识别和操作该设备。 CH554的模拟CDC功能意味着它能够模拟成一个串行通信设备,...

    批量插入、 更新数据库数据

    总结起来,批量插入和更新数据库数据是数据库管理的重要操作,涉及SQL语句的编写、数据格式的处理和数据库驱动的使用。在实际开发中,还需要考虑性能优化,如事务处理、错误处理和并发控制,以确保数据的一致性和...

    sql2005 批量更新问题的解决方法

    基于以上分析,在实际应用中推荐使用 `PreparedStatement` 进行批量更新操作,尤其是当涉及到大量数据时。 #### 三、JDBC 驱动的选择与配置 选择合适的 JDBC 驱动对于批量更新操作至关重要。旧版本的驱动可能不...

    手机数据线驱动程序,非常有用。

    手机数据线驱动程序是连接智能手机与计算机之间的重要桥梁,它使得两者之间能够进行数据传输、设备管理和软件更新等多种操作。在现代科技生活中,无论是备份个人资料、安装应用程序、升级手机系统,还是进行故障排查...

    jdbc-批量插入数据

    批量插入数据是数据库操作中常见的一种优化策略,特别是在数据分析、数据迁移或大数据处理等场景。传统的单条插入方式可能会导致大量的网络往返和数据库事务开销,而批量插入则通过一次提交多个SQL语句来减少这些...

    dbutils + oracle 增删改查批量插入示例

    测试过程可能包括创建表、填充数据、更新数据和删除数据等步骤,所有这些操作都可以通过dbutils的API轻松完成。 总的来说,`dbutils + oracle 增删改查批量插入示例`是一个很好的学习资源,它帮助开发者掌握如何在...

    基于数据驱动自动化测试框架研究和实现.rar

    数据驱动自动化测试是一种高效、灵活的测试方法,它将测试逻辑与输入数据分离,通过外部数据源提供测试用例,从而实现对软件系统的自动化验证。本文档“基于数据驱动自动化测试框架研究和实现.pdf”很可能深入探讨了...

    易语言在线更新源码 多文件批量更新 仿QQ

    2. **文件操作**:批量更新涉及多个文件的下载、校验和替换,需要掌握易语言中的文件读写、文件对比、文件删除等操作。 3. **版本比较**:系统需要判断本地版本与服务器上的版本差异,通常会通过比较版本号或者文件...

    winform 批量更新源码

    - 这个压缩包可能包含了一个实现批量更新逻辑的WinForms项目,包括主窗体(MainForm)、更新检查类(UpdateChecker)、下载管理器(DownloadManager)等关键组件的代码。 - 通过查看源码,我们可以学习如何在...

    springboot + jpa 批量存储示例

    在本文中,我们将深入探讨如何使用Spring Boot与Java Persistence API (JPA) 实现批量存储操作。Spring Boot简化了设置和配置,而JPA作为Java的ORM(对象关系映射)框架,允许开发者以面向对象的方式操作数据库。...

    mysql数据源驱动ODBC3.51

    在Windows操作系统中,ODBC是实现不同数据库系统间互操作性的关键工具,使得开发者无需了解底层数据库的具体实现细节,就能访问和管理MySQL数据库。 ODBC,全称Open Database Connectivity,是一个应用程序编程接口...

    批量驱动智能:PyTorch中的批量处理全面指南

    - 在训练循环中迭代每个批量数据,执行前向传播、计算损失、反向传播和参数更新操作。 ```python model = ... # 实例化模型 criterion = ... # 定义损失函数 optimizer = ... # 定义优化器 # 训练循环 for epoch ...

    郁金香驱动50节批量下载

    根据给定的信息,“郁金香驱动50节批量下载”主要涉及的是郁金香驱动的学习资料,通过115网盘进行批量下载的方式共享给广大爱好学习的人士。接下来,我们将详细探讨郁金香驱动的相关知识点,以及如何利用115网盘进行...

    批量删除数据库文件

    批量删除数据库文件是数据库维护过程中可能遇到的一种需求,例如在测试环境中清理数据、优化存储空间或进行数据库更新时。标题“批量删除数据库文件”暗示我们将讨论如何有效地删除多个具有相同后缀名的数据库文件。...

Global site tag (gtag.js) - Google Analytics