我正在尝试填写一个包含超过 250行的表单,而我能实现的唯一方法是逐行迭代 dataframe ,但是我遇到的问题是,由于某种原因,该页面向我发送了带有图例的警报
“会话已过期,请重新连接。”
然后我的问题是:与逐行迭代相比,是否可以填写多行且花费更少的时间?
我的代码:
#read data
df = pd.read_excel('pre_data.xlsx')
for index,row in df.iterrows():
X = index + 1
time.sleep(.3)
#fill inputs by css_selector
WebDriverWait(browser, 100).until(EC.presence_of_element_located((By.CSS_SELECTOR,f'#detalle_codigo_articulo{X}'))).send_keys(row['codigo'])
desc = row['descripcion']+'\n'+row['composicion']
WebDriverWait(browser, 100).until(EC.presence_of_element_located((By.CSS_SELECTOR,f'#detalle_descripcion{X}'))).send_keys(desc)
WebDriverWait(browser, 100).until(EC.presence_of_element_located((By.CSS_SELECTOR,f'#detalle_cantidad{X}'))).send_keys(row['cantidad'])
WebDriverWait(browser, 100).until(EC.presence_of_element_located((By.CSS_SELECTOR,f'#detalle_precio{X}'))).send_keys(str(row['precio']))
if index != len(df) -1 :
browser.execute_script('''document.querySelector('#detalles_datos > input[type=button]').click()''')
UNIDAD = [i for i in browser.find_elements_by_tag_name('option') if i.text.strip() =='unidades']
UNIDAD[index].click()
如果要单击“ Agregarlíneadescripción”按钮。他在表格中又增加了一行。如果您位于循环的最后一圈,则不会添加,因为不允许空行
这是表单视图: