Selenium sendKeys 只为输入追加文件 [type=file multiple]

Selenium sendKeys only append files for input[type=file multiple]

我无法使用 selenium 清除隐藏的多个文件输入。

HTML 来源

<input type="file" multiple style="display: none"/>

webElement.sendKeys(file1.absolutePath); //  file1 added
webElement.sendKeys(file2.absolutePath); // ⚠ appends file2
webElement.sendKeys(file3.absolutePath); // ⚠ appends file3
/// and so on

文件只是不断地附加到输入中,没有明显的方法可以清除它。我已经出于调试目的显示了输入元素,并且所有文件都已放入字段中。

我试过使用 WebElement.clear()sendKeys(Keys.BACK_SPACE) 和其他几个。没有人使用隐藏的输入元素。

只需抓住标签并使用 driver.execute 更改该标签的值。

js = "document.getElement(By.tagName("input")).value = "+file2.absolutePath; 
driver.execute_script(js).