使用chromedriver批量自动填写表单

from time import sleep
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
# 由于selenium包里面的代码缺陷需要声明一下By是什么
from selenium.webdriver.common.by import By
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import os
new = []
with open("111.txt", encoding='utf-8') as txt:
    ar = txt.readlines()
    list = []
    for x in ar:
        li = x.strip("\n")
        list.append(li)
    for i in range(len(list)):
        n = list[i].split("\t")
        new.append(n)
for n in range(len(new)):
    name = new[n][0]
    index = int(new[n][1])
    s = Service("./chromedriver.exe")
    bro = webdriver.Chrome(service=s)
    bro.get("https://www.lediaocha.com/r/1zlzn")
    # .find_element标签定位,里面的语法规则(by=By.ID或者XPATH, value='需要定位到的id值或者xpath的表达式')
    # .send_keys就代表向定位到的对象里面输入内容
    sleep(4)
    bro.find_elements(by=By.XPATH, value='//input[@class="el-input__inner"]')[0].send_keys("张三")
    sleep(1)
    bro.find_elements(by=By.XPATH, value='//input[@class="el-input__inner"]')[1].send_keys("2020756983")
    sleep(1)
    bro.execute_script("window.scroll(0,500)")
    sleep(1)
    bro.find_elements(by=By.XPATH, value='//div[@class="ui-radio__input"]')[index].click()
    sleep(1)
    bro.find_elements(by=By.XPATH, value='//input[@class="el-input__inner"]')[2].send_keys(name)
    sleep(1)
    bro.execute_script('return document.querySelectorAll(".flex-1")[3].click()')
    sleep(1)
    bro.execute_script('return document.querySelectorAll(".flex-1")[7].click()')
    sleep(1)
    bro.execute_script('return document.querySelectorAll(".flex-1")[11].click()')
    sleep(1)
    bro.execute_script('return document.querySelectorAll(".flex-1")[15].click()')
    sleep(1)
    bro.find_elements(by=By.XPATH, value='//input[@class="el-input__inner"]')[3].send_keys("95")
    sleep(1)
    bro.find_elements(by=By.XPATH, value='//input[@class="el-input__inner"]')[4].send_keys("95")
    sleep(1)
    bro.execute_script('return document.querySelectorAll(".el-button")[0].click()')
    sleep(3)
    # 关闭浏览器
    bro.quit()
    # .execute_script代表:执行javascript,这样就可以执行让页面向下滑动的效果了
    # bro.execute_script("window.scroll(0,document.body.scrollHeight)")
    # sleep(3)
    # # 尽量去用XPATH或者ID去定位,因为其他的定位方式容易定位好多个,然后导致错误
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值