- Регистрация
- 29.08.2015
- Сообщения
- 57
- Благодарностей
- 15
- Баллы
- 8
Не могу правильно выбрать значение в выпадающем списке по адресу
Нужно выбрать русский язык, при выборе руками появляется внизу кнопка "Сохранить". При выборе зенкой этой кнопки нет.
Видимо какой-то скрипт не отрабатывает.
Пробовал так
Пробовал кликать по //select[@aria-labelledby='cultureLabelId'] и затем по //option[@value="ru-RU"].
Ничего не помогло. Может кто подскажет как победить данный список.
Нужно выбрать русский язык, при выборе руками появляется внизу кнопка "Сохранить". При выборе зенкой этой кнопки нет.
Видимо какой-то скрипт не отрабатывает.
Пробовал так
Вот так пробовал:
// Входные параметры
string data_search = @"value=""ru-RU""";
string xpath = "//select[@aria-labelledby='cultureLabelId']";
string xpath_opt = ".//option";
// Находим элемент select
var selectElement = instance.ActiveTab.FindElementByXPath(xpath, 0);
// Получаем список опций
List<string> optionsList = new List<string>();
try
{
optionsList = ZennoPoster.Parser.ParseByXpath(selectElement.OuterHtml, xpath_opt, "OuterHtml").ToList();
}
catch
{
// Обработка ошибки, если не удалось получить список опций
// Project.SendWarning("Не удалось получить список опций");
//return;
}
// Ищем нужную опцию и устанавливаем её
int optionIndex = 0;
foreach (string option in optionsList)
{
if (option.IndexOf(data_search) != -1)
{
// Устанавливаем значение
selectElement.SetValue(optionIndex.ToString(), "None", false);
// Перемещаем курсор к элементу
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(selectElement);
// Кликаем левой кнопкой мыши
instance.ActiveTab.FullEmulationMouseClick("left", "click");
// Ждем некоторое время
instance.WaitFieldEmulationDelay();
// Нажимаем Enter для подтверждения выбора
instance.SendText("{ENTER}", 15);
// Project.SendWarning("Опция ru-RU успешно выбрана");
// return;
}
optionIndex++;
}
// Если опция не найдена
//Project.SendWarning("Опция ru-RU не найдена");
И так:
//---- входные параметры -------------------------------------------------
string data_seach = @"value=""ru-RU""";
string xpath = "//select[@aria-labelledby='cultureLabelId']";
string xpath_opt = ".//option";
//-------------------------------------------------------------------------
string result = "" ; int id1=0; List<string> lst_Find = new List<string>();
var he2= instance.ActiveTab.FindElementByXPath(xpath,0);
try { lst_Find = ZennoPoster.Parser.ParseByXpath(he2.OuterHtml, xpath_opt, "OuterHtml" ).ToList(); } catch{}
if (lst_Find.Count > 0) {
foreach (string he_opt in lst_Find) {
if (he_opt.IndexOf(data_seach) != -1) {
he2.SetValue(id1.ToString(), "None", false);
return 0;
}
id1++;
}
}
Ничего не помогло. Может кто подскажет как победить данный список.