Я пытаюсь загрузить файл во всплывающем окне после нажатия кнопки:
После нажатия на эту кнопку появится всплывающее окно:
Я нажимаю на эту кнопку, используя это:
driver.findElement(By.xpath("//*[@id=\"div-add-file\"]/a")).click();
Затем я использовал это:
driver.switchTo().activeElement().sendKeys("C:\\Users\\Steve\\Downloads\\01004185FCA003900517097.pdf");
Я попытался сделать что-то подобное, избегая нажатия кнопки, но отправляя путь к файлу:
driver.findElement(By.xpath("//*[@id=\"div-add-file\"]/a")).sendKeys("C:\\Users\\Maxi\\Downloads\\01004185FCA003900517097.pdf");
но это не сработает.
Я делаю что-то не так?
Привет, @SwaroopHumane, я сделал это, но это не работает: WebElementbrowse = driver.findElement(By.xpath("//*[@id=\"div-add-file\"]/a")); browse.sendKeys("C:\\Users\\Steven\\Downloads\\01004185FCA003900517097.pdf");




Загрузка файла с помощью Selenium осуществляется путем отправки пути к загружаемому файлу в специальный элемент на странице. Этот элемент обычно можно найти с помощью этого XPath: //input[@type='file']
Таким образом, ваша команда может быть примерно следующей:
driver.findElement(By.xpath("//input[@type='file']")).sendKeys("C:\\Users\\Maxi\\Downloads\\01004185FCA003900517097.pdf");
Возможно, вам нужно будет добавить некоторую задержку, чтобы страница загружалась. Если да, то следует использовать WebDriverWait.
WebDriverWait wait = new WebDriverWait(webDriver, timeoutInSeconds);
wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//input[@type='file']"))).sendKeys("C:\\Users\\Maxi\\Downloads\\01004185FCA003900517097.pdf");
Иногда на одной странице будет несколько более 1 входов, соответствующих указанному выше локатору, а иногда такого элемента не будет.
В случае, если указанному выше локатору соответствует более 1 элемента, нам нужно будет найти точный, уникальный локатор.
В случае отсутствия такого элемента нам придется найти другой способ загрузки файла.
Эй, приятель, я проверяю это
Почему вы указываете "("//input[@type='file']")? Это необходимо?
Да. Это локатор этого элемента
Приятель, взгляни на это: stackoverflow.com/questions/74008505/…
Меня здесь не было. посмотрю