import os
import openpyxl
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
user = input="请输入账号:"
psw = "请输入密码:"
# 进入登陆界面
driver = webdriver.Edge()
mes = '网址'
driver.get(mes)
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "userDto_loginName")))
# 输入用户名
driver.find_element(By.ID,"userDto_loginName").send_keys(user)
# 输入密码
driver.find_element(By.ID,"keeper").send_keys(psw)
# 选择账套 - 添加等待确保下拉框加载
driver.find_element(By.ID, 'mcDataAuthB').click()
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//div[text()='海微智造技术(武汉)有限公司']")))
option = driver.find_element(By.XPATH, "//div[text()='海微智造技术(武汉)有限公司']")
option.click()
# 点击登陆按钮
driver.find_element(By.ID, "loginButton").click()
# 点击库存查询
element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "//a[text()='库存查询']")))
driver.execute_script("arguments[0].click();", element)
# 进入库存查询框架
iframe = driver.find_element(By.ID, "iframe2")
driver.switch_to.frame(iframe)
# 查找当前文件夹.xlsx文件
excelfiles = [f for f in os.listdir('.') if not f.startswith("~$") and f.endswith(".xlsx")]
# 打开.xlsx文件默认sheet
wb = openpyxl.load_workbook(excelfiles[0],data_only=True)
sheet = wb['备料清单(模板)']
sheet1 = wb['料车位置']
# 定义查找函数
def mes_clik(num):
cell = sheet["B" + str(i)].value
WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.NAME, "searchParaList[1]._PAGE_SEARCH_VALUE")))
v = driver.find_element(By.NAME, "searchParaList[1]._PAGE_SEARCH_VALUE")
v.clear()
v.send_keys(cell)
# 点击查询按钮
driver.find_element(By.CLASS_NAME, "query-btn-sure").click()
idx = sheet["A" + str(i)].value
num = sheet["I" + str(i)].value
pos = sheet1["C" + str(i-2)].value
print(str(idx) + '、' + str(cell) + '需要' + str(num) + ',' + str(pos))
# 循环查找物料信息
for i in range(4, 200):
mes_clik(i)
input("按Enter键继续\n")