Selenium обрабатывает диалог открытия файла с помощью Java - PullRequest
0 голосов
/ 11 июня 2018

Я новичок в области автоматизации браузера и обучения селену.Мне удалось настроить JAR-зависимости и драйвер также.Это открытие веб-страницы .., обнаружение загрузки страницы, а также обнаружение элемента доступны для нажатия.Но он открыл select file dialog box, и я не могу выбрать файл с помощью селена.

Вот мой код Java:

ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-notifications");

WebDriver driver = new ChromeDriver(options);
driver.get("https://xyz.abc.pqr");

try 
{
    WebDriverWait wait = new WebDriverWait(driver, 60);
    wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("element_id_1")));

    System.out.println("Loaded and in....");

    WebElement AttachMenu = driver.findElement(By.className("Class_1"));
    AttachMenu.click();
    System.out.println("Clicked Attach menu....");

    // <input type="file" accept="image/*,video/*" multiple="" style="display: none;">

    // As you can see above input element is not having any id or class

    // How do i sendkeys to above input element that has opened dialog

    // this is the question...

}
catch (TimeoutException e)
{
    System.out.println("Element not found...");
}

// driver.quit();

ЭТО НЕ ЗАГРУЗКА, ЭТО ПРОСТО ВЫБОР ФАЙЛА;Я НАЖМИТЕ НА КНОПКУ ДЛЯ ЗАГРУЗКИ…

Любая помощь / пожелания будут оценены и заранее благодарны за то, что уделили нам драгоценное время на этот вопрос.

1 Ответ

0 голосов
/ 12 июня 2018

Было две проблемы:

  1. Как нажать кнопку <div role="button" title="Attach">;у которого нет класса и нет идентификатора
  2. Как sendkeys до <input type="file" accept="image/*,video/*" multiple="" style="display: none;">, который также не имеет класса и нет идентификатора.

Это было решено после большой попытки иошибки как ...

driver.findElement(By.xpath("//div[@title='Attach']")).click();
System.out.println("Attach clicked....");

WebElement MediaButton = driver.findElement(By.className("xyzmm"));
MediaButton.click();

System.out.println("Select clicked....");
WebElement uploadElement = driver.findElement(By.xpath("//input[@accept='image/*,video/*']"));

uploadElement.sendKeys("/Users/Apple/Desktop/logos/Team1.png");

Все еще uploadElement диалоговое окно видно .. и как выполнить javascript, чтобы сделать это display none под вопросом ..., примеряя его сейчас ... Вопросбыла решена

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