Исключение InvalidArgumentException, даже если файлы загружены в Тег в Selenium- Java - PullRequest
0 голосов
/ 05 мая 2020

Я использую Selenium WebDriver и Java для загрузки двух файлов в теге <input type='file'>.

Я принял способ, упомянутый в этом сообщении .

Это мой фрагмент кода, чтобы указать c.

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>

Xpath для fileSelectionBox: "//span[contains(text(), 'No file selected')]/preceding::input[@type='file']"

Мне нужно избавиться от этого исключения. Есть идеи по этому поводу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...