0


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()

在这里插入图片描述

注意:

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

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

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

Python真是太好用了 办公利器啊!!!!

标签: python pandas selenium

本文转载自: https://blog.csdn.net/sinat_38119716/article/details/125505901
版权归原作者 ggreekn 所有, 如有侵权,请联系我们删除。

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

还没有评论