Как кликнуть option в select?

  • Автор темы Автор темы valera-k
  • Дата начала Дата начала

valera-k

Client
Регистрация
26.12.2020
Сообщения
136
Реакции
14
Баллы
18
Найти и выбрать option можно так.

C#:
Развернуть Свернуть Копировать
he = instance.ActiveTab.FindElementByAttribute("option", "innertext", "текст", "regexp", 0);
he.SetAttribute("selected", "selected");

А вот навести на него мышку и кликнуть не получается.
Подскажите, как это сделать?
 
По всей видимости речь идет про mail.ru этот вопрос уже разбирался.
Option начинают отображаться на странице после клика по выпадающему списку. После чего нужно прописать клик по option
 
Option начинают отображаться на странице после клика по выпадающему списку. После чего нужно прописать клик по option

При развернутом селекте и попытке навести на оптион, мышка убегает в левый верхний угол
 
При развернутом селекте и попытке навести на оптион, мышка убегает в левый верхний угол
Вероятнее всего это происходит потому что вы пытаетесь кликнуть на option по атрибутом и этот способ находит не тот option, который вам нужен. Я бы рекомендовал вам прописать путь xpath.
Могу только предполагать, т. к. Вы не демонстрируете свою проблему. И даже не говорите о каком сайте идет речь
 
Если есть управление стрелочками и выбор ENTER_ом - то можете преобразовать выбранный элемент по умолчанию в нужный Вам, потом еще раз выбрать его ENTER_ом
 
Могу только предполагать, т. к. Вы не демонстрируете свою проблему. И даже не говорите о каком сайте идет речь

Сайт не имеет значения, самый простой селект.
HTML:
Развернуть Свернуть Копировать
<select id='test'>
    <option value="option 1" selected>option 1</option>
    <option value="option 2">option 2</option>
    <option value="option 3">option 3</option>
    <option value="option 4">option 4</option>
    <option value="option 5">option 5</option>
</select>

C#:
Развернуть Свернуть Копировать
HtmlElement he;

// Раскрываем select
he = instance.ActiveTab.FindElementById("test");
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(he);
instance.ActiveTab.FullEmulationMouseClick("left","click");

// Пытаемся кликнуть option
he = instance.ActiveTab.GetDocumentByAddress("0").FindElementByXPath("//*[@id=\"test\"]/option[4]", 0);
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(he);
instance.ActiveTab.FullEmulationMouseClick("left","click");

Курсор убегает в верхний левый угол,
на форуме искал, но находил только как установить selected в нужный оптион, а как навести мышь и кликнуть пока не нашел.
 
Сайт не имеет значения, самый простой селект.
HTML:
Развернуть Свернуть Копировать
<select id='test'>
    <option value="option 1" selected>option 1</option>
    <option value="option 2">option 2</option>
    <option value="option 3">option 3</option>
    <option value="option 4">option 4</option>
    <option value="option 5">option 5</option>
</select>

C#:
Развернуть Свернуть Копировать
HtmlElement he;

// Раскрываем select
he = instance.ActiveTab.FindElementById("test");
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(he);
instance.ActiveTab.FullEmulationMouseClick("left","click");

// Пытаемся кликнуть option
he = instance.ActiveTab.GetDocumentByAddress("0").FindElementByXPath("//*[@id=\"test\"]/option[4]", 0);
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(he);
instance.ActiveTab.FullEmulationMouseClick("left","click");

Курсор убегает в верхний левый угол,
на форуме искал, но находил только как установить selected в нужный оптион, а как навести мышь и кликнуть пока не нашел.
Не видя сайта я не вижу почему курсор не находит ваш элемент. Предполагаю что он пытается кликнуть по option который не отображается на странице. Иначе курсор бы не убегал в левый верхний угол.
Код страницы видите только вы. Проанализируйте есть ли другие, скрытые option.
Я бы копал в этом направлении
 
<select id='test'>
<option value="option 1" selected>option 1</option>
<option value="option 2">option 2</option>
<option value="option 3">option 3</option>
<option value="option 4">option 4</option>
<option value="option 5">option 5</option>
</select>


это весь код страницы



У всех оптион
topInbrowser = 0
width = -1
height = -1
 
<select id='test'>
<option value="option 1" selected>option 1</option>
<option value="option 2">option 2</option>
<option value="option 3">option 3</option>
<option value="option 4">option 4</option>
<option value="option 5">option 5</option>
</select>


это весь код страницы



У всех оптион
topInbrowser = 0
width = -1
height = -1
Валера... страницу видите только вы, значит и разобраться можете только вы. Я же дал направление в котором копал бы лично я
 
Встречал подобную вещь тут, тыкание по options ничего не дало. Самое интересное что если функцией "следовать за курсором" наводить на пункты меню, то подсвечиваются элементы под ними, только клавиатурой смог
 

Вложения

  • miss_click.jpg
    miss_click.jpg
    209,2 KB · Просмотры: 172
Встречал подобную вещь тут, тыкание по options ничего не дало. Самое интересное что если функцией "следовать за курсором" наводить на пункты меню, то подсвечиваются элементы под ними, только клавиатурой смог
как вариант
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)