2016-07-08 2 views
0

Как определить текстовое поле и поместить значение в текстовое поле?Selenium WebDriver C#, Невозможно ввести значение в текстовое поле

Код сниппета

<div id="CTR_StartDate" class=" datePickerXtreme datePickerContainer datePickerXtreme datePickerContainer datePickerXtreme datePickerContainer"> 
    <input tabindex="0" name="ct100$CTR_StartDatectl00" value="Date" id="CTR_StartDate_ctl00" class="datePickerXtremeDateOnly validField" type="text"> 
    <a tabindex="0" href="#" class="ui-datepicker-icon">&nbsp;</a> 
    <input tabindex="0" value="Tuesday, 10 January 2017 00:00:00" name="ct100$CTR_StartDatectl01" id="CTR_StartDate_ctl01" type="hidden"> 
    <input tabindex="0" value="Tuesday, 10 January 2017 00:00:00" name="ct100$CTR_StartDatectl02" id="CTR_StartDate_ctl02" type="hidden"> 
    <span id="CTR_StartDate_ctl04" category="Common" style="color:Red;visibility:hidden;"></span> 
    <input tabindex="0" name="ct100$CTR_StartDatectl03" id="CTR_StartDate_ctl03" value="GMT Standard Time" type="hidden"> 
</div> 

Ниже приведен код, который я использую, чтобы поместить текст:

IWebElement ContractStartDate = driver.FindElement(By.Id("CTR_StartDate_ctl00")); 
wait.Until(ExpectedConditions.ElementIsVisible(By.Id("CTR_StartDate_ctl00"))); 
ContractStartDate.SendKeys("14/07/2016");   

Я попытался его имя, он по-прежнему не работает. Несколько раз он работает. Это очень редко. Я попытался щелкнуть по текстовому полю и поместить значение с помощью клавиш отправки, по-прежнему не работает. Иногда случаются странные исключения.

Может кто-нибудь помочь мне с этим, пожалуйста?

+0

Пожалуйста, поделитесь странные исключения, которые происходят является также ... –

+0

Может быть ваше имя или идентификатор выглядит как динамический генерируется .... –

+0

один раз попробовать с этим 'xpath' и дайте мне знать ..'// div [@id = 'CTR_StartDate']/input [содержит (@ class, 'datePickerXtremeDateOnly')] ' –

ответ

0

Может быть, ваша проблема в том, что вы собираетесь найти элемент первого затем проверить его видимость, а затем использовать .sendKeys() на уже нашли element, которая может быть видимым или не хранится alraedy в ContractStartDate, поэтому ваш тест когда-нибудь пройти и какое-то время не в состоянии , Попробуй, как показано ниже: -

IWebElement ContractStartDate = wait.Until(ExpectedConditions.ElementIsVisible(By.Id("CTR_StartDate_ctl00"))); 
ContractStartDate.Click(); 
ContractStartDate.SendKeys("14/07/2016"); 

Надеется, что это будет работать ... :)

+0

Hi Saurabh, уже пробовал это, и он не работал. – Sathish

+0

@Sathish существует исключение ??? –

+0

Хотелось бы, чтобы вы сидели рядом со мной, чтобы все это разобралось, Но в любом случае - ваш идентификатор электронной почты? – Sathish

1

вы можете попробовать и использовать селектор Css?

String selector = "div.datePickerXtreme input.datePickerXtremeDateOnly"; 
IWebElement ContractStartDate = driver.FindElement(By.CssSelector(selector)); 
ContractStartDate.Clear(); 
ContractStartDate.SendKeys("14/07/2016"); 
+0

nope, didn Не работай. Ошибка, но не заполняла никаких значений в текстовом поле. – Sathish

Смежные вопросы