如何把表格里面第一列的身份证号码,填写到网页的身份证栏里,然后再查询,如果没有找到这个人就从表格第一列里面第二行身份证再取出,再填入网页身份证栏
openpyxl读取Excel填充输入框,点击按钮查询,然后获取结果的dom判断数据,存在后续进行操作什么的
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
from openpyxl import load_workbook
'''
#打开chrome并设置登录cookie信息
url='要采集的网址'
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
d=webdriver.Chrome(chrome_options=chrome_options)
d.maximize_window()
d.get(url)
d.delete_all_cookies()
cookie={'name':'JSESSIONID','value':'36B050368E394653F08974E16A12C9BD'}#更新cookie
d.add_cookie(cookie_dict=cookie)
d.get(url)
time.sleep(2)
'''
###########以下为测试网址,自行修改成上面的
url='http://www.w3dev.cn/search.aspx'
d=webdriver.Chrome()
d.maximize_window()
d.get(url)
#打开Excel
wb=load_workbook('data.xlsx')#注意改Excel路径
ws=wb['Sheet1']#注意改读取的工作簿名
rownum=ws.max_row
for row in range(2,rownum+1):#去掉第一行表头
idNo=ws.cell(row=row,column=1).value
print(idNo)
input=d.find_element(By.CSS_SELECTOR,'li.s input[type=text]')##注意改身份证输入框css选择器
input.send_keys(idNo)#设置输入框值
searchbtn=d.find_element(By.CSS_SELECTOR,'li.s input[type=image]')##注意改查询按钮css选择器
searchbtn.click()##点击按钮查询
time.sleep(2)#等待查询结果,这里注意适当放长如
results=d.find_elements(By.CSS_SELECTOR,'#left article a')##注意修改结果中后续还要点击的对象选择器
print(idNo,'找到结果数',len(results))
time.sleep(2)
wb.close()
1、用python的openpyxl库来实现读写表操作,遍历获取到身份证号
2、selenium打开浏览器访问网页,定位输入框,定位并点击"查询"按钮
3、根据页面查询结果,写个判断,如果查询不到,循环1、2步骤
大概写了一下主要的代码,细节你得根据网页和Excel情况修改
import openpyxl
from selenium import webdriver
# 获取Excel中的身份证号
wb = openpyxl.load_workbook('xxx.xlsx')
ws = wb['Sheet1']
id_num_list = []
for i in range(1, 10):
id_num_list.append(ws['A{}'.format(i)].value)
# 利用selenium填入网页
browser = webdriver.Chrome()
for i in id_num_list:
browser.find_element_by_xpath("//input[@id='mobileCode']").send_keys(i)
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!