我正在使用 Selenium WebDriver 和 Java 在<input type='file'>
标签中上传两个文件。
我采用了这篇文章中提到的方式。
这是我的代码片段,具体来说。
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath(fileSelectionBox))).sendKeys
(System.getProperty("user.dir") + invoiceFilePath + fileNames[0]
+ "\n"
+ System.getProperty("user.dir") + invoiceFilePath + fileNames[1]);
问题是,虽然这两个文件已成功上传,并且应用程序流程向前推进,但我仍然从上面提到的代码片段中得到这个异常。
org.openqa.selenium.InvalidArgumentException:无法选择一个或多个文件。
DOM 看起来像这样。
<span class="w-upload-file__pseudo-button-span relative ">Choose Files</span>
<div class="w-u-f__abs-button-wrapper "><span class="w-upload-file__pseudo-button-span relative ">Choose Files</span></div>
<span class="w-upload-file__span" type="text" disabled="">No file selected</span>
<span class="w-upload-file__input-focus-wrapper"></span>
<div class="w-upload-file__dropzone-container" tabindex="0" aria-disabled="false"><input type="file" multiple="" autocomplete="off" style="display: none;"></div>
<input type="file" multiple="" autocomplete="off" style="display: none;">
<input type="button" pseudo="-webkit-file-upload-button" value="Choose Files">
<input type="file" multiple="" autocomplete="off" style="display: none;">
<div class="w-upload-file__dropzone-container" tabindex="0" aria-disabled="false"><input type="file" multiple="" autocomplete="off" style="display: none;"></div>
“fileSelectionBox”的 Xpath 是"//span[contains(text(), 'No file selected')]/preceding::input[@type='file']"
我需要摆脱这个异常。对此有任何想法吗?