Как выбрать дату из средства выбора даты Bootstrap Glyphicon с помощью Selenium и Java - PullRequest
0 голосов
/ 25 января 2019

Ниже мой html DOM моего средства выбора даты. В этом поле ввода отсутствует возможность редактирования. В DOM нет других тегов 'tr' 'td' для средства выбора даты.

<form>
<div class="input-group date" id="datetimepicker1">
    <input type="text" id="accFromDateId" class="form-control" placeholder="DD/MMM/YYYY" data-i18n="BillsView.CustomerSearch.Placeholder.DateFormat">
    <span class="input-group-addon"> <span class="glyphicon glyphicon-calendar"></span> </span> </div></form>

В этом поле ввода берется только дата из средства выбора даты. Я попробовал приведенный ниже код. но это не сработает

Селен Сценарий:

WebElement date=driver.findElement(By.name("accFromDateId"));
date.sendKeys("01232019"); 
date.submit();

Ответы [ 2 ]

0 голосов
/ 25 января 2019

Из вашего вопроса не понятно, почему вы находите Входные данные также не редактируемыми .Чтобы отправить последовательность символов, например, date как 25 / JAN / 2019 через тег <input>, вы можете использовать следующее решение:

WebElement myDate = new WebDriverWait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[@class='form-control' and @id='accFromDateId']")));
myDate.clear();
myDate.sendKeys("25/JAN/2019"); 
myDate.submit();
0 голосов
/ 25 января 2019

1) Вместо «Имя» должен был использоваться поиск по «ID»

 var driver = new ChromeDriver();
 driver.Navigate().GoToUrl("demo.html");
 IWebElement date = driver.FindElement(By.Id("accFromDateId"));
 date.SendKeys("01232019");
 date.Submit();

2) Альтернативный подход заключается в работе с всплывающим окном DatePicker. Найдите пример кода ниже, который выбирает jquery datepicker

var driver = new ChromeDriver();
driver.Navigate().GoToUrl("https://jqueryui.com/datepicker/");
driver.SwitchTo().Frame(driver.FindElement(By.XPath("//iframe[@class='demo-frame']")));
IWebElement date = driver.FindElement(By.Id("datepicker"));
date.Click();
driver.FindElementByLinkText("24").Click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...