pdfs =[file1, file2, file3] uploadButton = browser.find_element_by_xpath("//input[@type='file']") for i in range(len(pdfs)): uploadButton.send_keys(pdfs[i])
上面的代码是我在 ChromeDriver 中使用 send_keys() 上传多个文件时使用的。在这里,它在第一次迭代中运行良好,在第二次迭代中它将上传 2 个文件,在第三次迭代中上传 3 个文件。在每次迭代中都会上传重复的文件。我需要一个解决方案,使用 for 循环逐个上传文件而不重复。我知道我们可以像这样一次上传所有文件
files = file1 + '\n' + file2 + '\n' + file3 uploadButton.send_keys(files)
但我不想一次上传所有文件,我必须使用 for 循环逐个上传。有人能用 Python + Selenium 帮我解决这个问题吗?
每次发送路径之前使用clear()方法清除输入。您的代码应如下所示:
pdfs =[file1, file2, file3] uploadButton = browser.find_element_by_xpath("//input[@type='file']") for i in range(len(pdfs)): uploadButton.clear() # Add this line to clear the input uploadButton.send_keys(pdfs[i])