- Регистрация
- 09.10.2015
- Сообщения
- 3 916
- Благодарностей
- 3 867
- Баллы
- 113
Очень часто возникает необходимость при регистрации или каких-то других действиях в ZennoPoster выбрать случайный элемент из выпадающего списка (select). Уже давно сделал простенький C#-сниппет, который успешно выполняет это и упрощает мне жизнь без использования selecteditems и прочего ада
В данном примере нужно заменить "select_ID" на идентификатор (id) тега select, в котором нужно выбрать случайный элемент.
Стоит отдельно отметить то, что в этом коде поиск тегов option пропускает первый элемент, т.к. обычно это что-то вроде "Выберите значение" с пустым атрибутом value.
Если в вашем конкретном случае нет первого пустого option, то в функции rnd.Next следует сменить первый атрибут с 1 на 0.
В данном примере нужно заменить "select_ID" на идентификатор (id) тега select, в котором нужно выбрать случайный элемент.
Код:
HtmlElement he = instance.ActiveTab.MainDocument.FindElementById("select_ID");
HtmlElementCollection all_elements = he.GetChildren(false);
Random rnd = new Random();
int he_rnd = rnd.Next(1, all_elements.Count);
he = all_elements.Elements[he_rnd];
he.SetAttribute("selected", "selected");
Если в вашем конкретном случае нет первого пустого option, то в функции rnd.Next следует сменить первый атрибут с 1 на 0.