Выберите Datepicker with Selenium. Первый раунд ОК, второй раунд зависает

Я успешно устанавливаю дату datepicker ..., да, дело в том, что я копирую структуру кода, чтобы установить дату второго datepicker, и тогда возникает проблема. WTH Я просто не знаю, почему вторая попытка не работает. Например, если я прокомментирую первый набор для первого датпикера, второй будет работать нормально ... или если я поменяю местами, первый будет единственным работающим ... Есть какие-нибудь подсказки? Вот код .. (dummyInner имеет элемент выбора html)  Отображаемая ошибка

#region DATEFROM

// Open First Datepicker
driver.FindElement(By.Id("dateFrom")).SendKeys("");

#region Month From

var monthPicker = "//select[@class='ui-datepicker-month']";
var select = driver.FindElement(By.XPath(monthPicker), 1);

var selectMesDesde = new SelectElement(select);
selectMesDesde.SelectByValue((iFrom.Month - 1).ToString());

#endregion

#region Year From

var yearPicker = "//select[@class='ui-datepicker-year']";
select = driver.FindElement(By.XPath(yearPicker), 1);

var selectAñoDesde = new SelectElement(select);
selectAñoDesde.SelectByValue(iFrom.Year.ToString());

#endregion

var datumPath = "//table[@class='ui-datepicker-calendar']/tbody/tr/td/a[contains(text(), '" + iFrom.Day + "')]";
var datum = driver.FindElement(By.XPath(datumPath), 1);
datum.Click();
Thread.Sleep(2000);

#endregion

#region DATETO

// Open second datepicker
driver.FindElement(By.Id("dateTo")).SendKeys("");
Thread.Sleep(500);

#region Month To

monthPicker = "//div[@id='ui-datepicker-div']//div//div[@class='ui-datepicker-title']//select[1]";
            select = driver.FindElement(By.XPath(monthPicker), 1);

            var dummyInner = select.GetAttribute("outerHTML");

            try
            {
                var selectMesHasta = new SelectElement(select);
                selectMesHasta.SelectByValue((iTo.Month - 1).ToString());
            }
            catch (Exception ex)
            {
                LogHelper.Trace(TraceEventType.Information, "No se puso obtener la fuente HTML de los movimientos " + ex.Message);
                return "";
            }

#endregion

#region Year To

yearPicker = "//select[@class='ui-datepicker-year']";
select = driver.FindElement(By.XPath(yearPicker), 1);

var selectAñoHasta = new SelectElement(select);
selectAñoHasta.SelectByValue(iTo.Year.ToString());

#endregion

datumPath = "//table[@class='ui-datepicker-calendar']/tbody/tr/td/a[contains(text(), '" + iTo.Day + "')]";
datum = driver.FindElement(By.XPath(datumPath), 1);
datum.Click();
Thread.Sleep(2000);

#endregion

person Morty    schedule 24.09.2015    source источник
comment
что вы имеете в виду под словом "работать / не работать"? пробовали ли вы поместить другой код между двумя вариантами выбора (например, печать на консоли)?   -  person elyashiv    schedule 24.09.2015
comment
Да ..., это должно сработать ..., Он просто ломается посередине, где я указал в коде ... Работает для первого datepicker, не работает для второго ...   -  person Morty    schedule 24.09.2015
comment
Пожалуйста, не размещайте изображения без крайней необходимости. Изображения со временем будут потеряны и тогда вопрос будет непонятным. Вставьте сообщение об ошибке и соответствующую строку. Кроме того, создайте минимальный, полный и проверяемый пример MCVE. Это поможет вам решить проблемы самостоятельно. Если вы это сделаете, но все равно застрянете, вы можете вернуться и опубликовать MCVE, что вы пробовали и каковы были результаты, чтобы мы могли лучше вам помочь. Также может помочь размещение соответствующего HTML в правильном формате.   -  person JeffC    schedule 25.09.2015


Ответы (1)


Люди, он просто работает на компьютере коллеги и на других компьютерах, но не на моем компьютере. Странно, действительно странно ... даже с одной и той же версией Firefox и VS ...

person Morty    schedule 25.09.2015