Python 如何用Selenium填写多行表单?

Python 如何用Selenium填写多行表单?,python,selenium,Python,Selenium,我正在尝试填写一个超过250行的表单,唯一可以实现的方法是逐行迭代我的数据帧,但我遇到的问题是,出于某种原因,页面会向我发出一个带有图例的警报 会话已过期,请重新连接 然后我的问题是:是否有可能填写一个包含许多行的表单,并且比逐行迭代花费更少的时间 我的代码: #read data df = pd.read_excel('pre_data.xlsx') for index,row in df.iterrows(): X = index + 1 time.sleep(.3)

我正在尝试填写一个超过250行的表单,唯一可以实现的方法是逐行迭代我的数据帧,但我遇到的问题是,出于某种原因,页面会向我发出一个带有图例的警报

会话已过期,请重新连接

然后我的问题是:是否有可能填写一个包含许多行的表单,并且比逐行迭代花费更少的时间

我的代码:

#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()
国际单项体育联合会要点击“Agregar línea Descriptivionón”按钮。他在表单中再添加一行。如果您处于循环的最后一圈,则不会添加,因为不允许使用空行

这是表单视图:


iterrows()
速度非常慢,这可能就是原因。必须有更好的方法来实现这一点,不是吗?是的,我尝试使用线程,但问题是
CSS\u选择器
由索引处理,需要多长时间才能收到会话到期消息?这是一个公开的网站吗?五分钟后,我已经有了一个解决方案…哦,太好了,什么有效?