Python 自动获取大批量excel数据并填写到网页表单(pandas;selenium)

这篇具有很好参考价值的文章主要介绍了Python 自动获取大批量excel数据并填写到网页表单(pandas;selenium)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求:

自动获取大批量excel数据并填写到网页表单

代码实现:

import pandas as pd
import time

from selenium.webdriver import Chrome
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support.ui import Select

df = pd.read_excel("NEW_COPY.xlsx", converters={'增添条码':str})   
#条码有前导零 也需要录入 这里稍作处理

print(df.head())

driver = Chrome()
url = "你的网址"
driver.get(url)
# driver.maximize_window()  #最大化窗口

# 填写用户名密码 
 driver.find_element(By.XPATH, '//*[@id="random_form"]').send_keys("username")
 time.sleep(0.2)
 driver.find_element(By.XPATH, '//*[@id="password"]').send_keys("password")
 time.sleep(0.2)
 driver.find_element(By.XPATH, '/html/body/div/div[2]/div[4]').click()

time.sleep(30)

for idx, row in df.iterrows():
    # 已提交数据   ISBN	书名	定价 类别  增添条码

    ISBN = row["ISBN"]
    driver.find_element(By.XPATH, '//*[@id="info"]').send_keys(ISBN)
    time.sleep(0.2)
    正题名 = row["书名"]
    driver.find_element(By.XPATH,
                        '//*[@id="app"]/div/div[2]/div/div[2]/div/div[2]/div[2]/div/form[1]/table/tbody/tr[1]/td[4]/div/span/label/input').send_keys(
        正题名)
    time.sleep(0.2)
    定价 = row["定价"]
    driver.find_element(By.XPATH,
                        '//*[@id="app"]/div/div[2]/div/div[2]/div/div[2]/div[2]/div/form[1]/table/tbody/tr[2]/td[6]/div/span/label/input').send_keys(
        定价)
    time.sleep(0.2)

    # 选择类别
    click_e_t = driver.find_element(By.XPATH, '//input[@name="collectionType"]')
    collection_click_e = click_e_t.find_element(By.XPATH, '../label/input')
    collection_click_e.click()
    # import ipdb; ipdb.set_trace()   ipdb调试工具
    time.sleep(1.5)   #避免太快 选择不到
    all_can_select = driver.find_elements(By.XPATH, '//div[@class="c7n-spin-container"]/ul')[0].find_elements(By.XPATH, './/li')
    all_can_select[7].click()

    time.sleep(1)
    
    增添条码 = row["增添条码"]
    driver.find_element(By.XPATH,
                        '//*[@id="app"]/div/div[2]/div/div[2]/div/div[2]/div[2]/div/form[2]/table/tbody/tr[3]/td[2]/div/div[1]/label/textarea').send_keys(
        增添条码)
    time.sleep(0.2)

    # 点击提交
    driver.find_element(By.XPATH,
                        '//*[@id="app"]/div/div[2]/div/div[2]/div/div[2]/div[2]/div/form[3]/table/tbody/tr/td/div/div/button[1]').click()

    WebDriverWait(driver, 5).until(lambda d: "操作成功" in d.page_source)  
	# 当出现提示操作成功才进行下一次循环
	
print ("已完成!")	
driver.close()

python 填写网页表单,PYTHON,python,pandas,selenium

注意:

部分网页获取下拉列表点击的方式有所差异 这个请根据网页源码自做选择

一定要学会使用IPDB调试工具 太好用了!!!!

可能需要pip update一下 看提示 很好解决 没有报错最好啦

Python真是太好用了 办公利器啊!!!!文章来源地址https://www.toymoban.com/news/detail-521001.html

到了这里,关于Python 自动获取大批量excel数据并填写到网页表单(pandas;selenium)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Jmeter(三十一):制造大批量的用户数据数据

    需求:因测试需要,要造100w用户数据,通过用户名、手机号、密码可新增用户,其中用户名和电话号码要求100w用户不能重复 要点: 1、通过Bean shell Sampler实现用户名和手机号的足够随机。 符合我们常用规则的手机号:第一位为1,第二位为3-9,后面的9位为0-9即可。 phone=${_

    2024年02月10日
    浏览(30)
  • 如何使用python快速将大批量图片合成为视频?

    由于CSDN大批量导入图片容易出现乱序,本程序将支撑图片转为视频,便于用视频的方式展示文件内容。 由于图片名称复杂多样,为便于统一化处理,增强程序的通用性,使用改名程序可以降低手动调整的复杂度。 改名之后的效果: 注意此部分的图片大小仍需要手动修改或输

    2024年02月04日
    浏览(32)
  • MySQL---使用索引优化、大批量插入数据优化

    1. 使用索引优化 索引是数据库优化最常用也是最重要的手段之一 , 通过索引通常可以帮助用户解决大多数的 MySQL 的性能优化问题: 1.1 避免索引失效应用-全值匹配 该情况下,索引生效,执行效率高。 1.2 避免索引失效应用-最左前缀法则 1.3 避免索引失效应用-其他匹配原则

    2024年02月07日
    浏览(38)
  • redis 无占用 两种方式 清除大批量数据 lua脚本

    redis存储了很多无用的key,占用了大量内存,需要清除 第一种 (颗粒度较大) lua脚本,删除某些规则的key,输入删除的key,返回删除的符合规则的key的数量 弊端:颗粒度比较大,发送一个lua脚本去执行,会占用较多时间,堵塞其他redis命令 java代码 这样直接删除,因为规则有很

    2024年04月28日
    浏览(28)
  • Python实现OCR大批量识别图片文字,并将文字保存到txt文档中,文末源码直接拿!

    在当今数字化时代,图像文字识别(Optical Character Recognition, OCR)技术的应用越来越广泛。 OCR技术可以将印刷体文字转化为可编辑的文本格式,从而方便进行文本分析、数据挖掘等操作。Python作为一种简洁、易用的编程语言,提供了丰富的图像处理和机器学习库,使得实现图

    2024年02月15日
    浏览(38)
  • 【sgTransfer】自定义组件:带有翻页、页码、分页器的穿梭框组件,支持大批量数据的穿梭显示。

      特性:   表格宽度可以自定义 翻页器显示控件可以自定义 列配置项可以设置显示字段列名称、宽度、字段名 可以配置搜索框提示文本,支持搜索过滤 穿梭框顶部标题可以自定义 左右箭头按钮文本可以设置

    2024年02月10日
    浏览(40)
  • python request大批量发送请求调用接口时,报错:[WinError 10048] 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。

    接到一个项目需求,其中需要调用到供应商的Http  API,因为有大量的测试资源,所以代码中会循环调用API。 然而在测试代码执行过程中,过程中偶尔报错:  此时看到报错,怀疑是可能是同时并发的问题, 但实际上并未对该接口进行限制,所以应该不是这个的问题, 进一

    2023年04月10日
    浏览(47)
  • cesium实现大批量POI点位聚合渲染优化方案

    cesium目前只提供了entityCluster这个聚合类,使打点聚合更方便快捷的实现,但是一般在真正做项目的时候,大家会经常碰到成千上万个甚至几十万个点位需要聚合打点,那这时候你如果还是用entity去实现的话,怕是要被用户按在地上疯狂摩擦,摩擦。。。😅 我们可以通过模拟

    2024年02月09日
    浏览(32)
  • 远程运维大批量IT设备?向日葵批量部署、分组授权与安全功能解析

    数字化转型的不断推进,给予了企业全方位的赋能,但任何发展都伴随着成本与代价,比如在数字化转型过程中企业内部办公与外部业务所需的不断增加的IT设备数量,就为日常的运维工作提出了更大的挑战。 针对企业面对海量IT设备时的运维难、效率低、容易出错等问题,

    2024年02月14日
    浏览(34)
  • 使用postman做接口测试传入大批量动态参数的方法

    postman是一个非常好用的接口测试工具,而且功能也很强大,今天只简单说一下使用postman如何对一个接口传入大批量参数进行测试的方法。 以我测试的平台为例,我们的平台是做在线教育平台的,我模拟的场景是老师有一门课叫ABC,现在需要有1000个学生加入ABC这门课。我们不

    2024年01月23日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包