Невозможно загрузить файл с помощью Selenium - PullRequest
0 голосов
/ 23 февраля 2019

Я пытаюсь загрузить PDF-файл, но выдается исключение:

Исключение в потоке "main" org.openqa.selenium.WebDriverException: неизвестная ошибка: невозможно сфокусировать элемент

Ниже приведен код:

public class FileUploadPopUp {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "G://ChromeDriver//chromedriver.exe");

        WebDriver driver=new ChromeDriver();
        driver.manage().window().maximize();

        driver.get("https://pdf2doc.com/");

        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

        driver.findElement(By.id("pick-files")).sendKeys("F:\\Selenium Complete Notes.pdf"); 
    }

}

Это для автоматизации действия загрузки файла. Я хочу загрузить файл PDF.Может кто-нибудь, пожалуйста, помогите мне решить эту проблему?

Ответы [ 2 ]

0 голосов
/ 12 марта 2019

, если ввод файла не редактируется - вы можете попробовать изменить атрибут value с помощью JS:

((JavascriptExecutor) driver).executeScript("arguments[0].setAttribute('value', 'F:\\Selenium Complete Notes.pdf');", element);
0 голосов
/ 23 февраля 2019

Для загрузки файла вы должны использовать элемент input с типом файла, но ваш селектор pick-files имеет значение div, поэтому вы получили ошибку.Используйте input[type=file] css селектор:

public class FileUploadPopUp {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "G://ChromeDriver//chromedriver.exe");

        WebDriver driver=new ChromeDriver();
        driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        driver.manage().window().maximize();

        driver.get("https://pdf2doc.com/");

        driver.findElement(By.cssSelector("input[type=file]")).sendKeys("F:\\Selenium Complete Notes.pdf"); 
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...