0

我正在使用 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']"

我需要摆脱这个异常。对此有任何想法吗?

4

0 回答 0