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

valera-k

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

C#:
he = instance.ActiveTab.FindElementByAttribute("option", "innertext", "текст", "regexp", 0);
he.SetAttribute("selected", "selected");
А вот навести на него мышку и кликнуть не получается.
Подскажите, как это сделать?
 

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
По всей видимости речь идет про mail.ru этот вопрос уже разбирался.
Option начинают отображаться на странице после клика по выпадающему списку. После чего нужно прописать клик по option
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 790
Благодарностей
5 720
Баллы
113

valera-k

Client
Регистрация
26.12.2020
Сообщения
135
Благодарностей
13
Баллы
18
Option начинают отображаться на странице после клика по выпадающему списку. После чего нужно прописать клик по option
При развернутом селекте и попытке навести на оптион, мышка убегает в левый верхний угол
 

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
При развернутом селекте и попытке навести на оптион, мышка убегает в левый верхний угол
Вероятнее всего это происходит потому что вы пытаетесь кликнуть на option по атрибутом и этот способ находит не тот option, который вам нужен. Я бы рекомендовал вам прописать путь xpath.
Могу только предполагать, т. к. Вы не демонстрируете свою проблему. И даже не говорите о каком сайте идет речь
 

PudgeD

Client
Регистрация
26.11.2019
Сообщения
32
Благодарностей
4
Баллы
8
Если есть управление стрелочками и выбор ENTER_ом - то можете преобразовать выбранный элемент по умолчанию в нужный Вам, потом еще раз выбрать его ENTER_ом
 

valera-k

Client
Регистрация
26.12.2020
Сообщения
135
Благодарностей
13
Баллы
18
Могу только предполагать, т. к. Вы не демонстрируете свою проблему. И даже не говорите о каком сайте идет речь
Сайт не имеет значения, самый простой селект.
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 в нужный оптион, а как навести мышь и кликнуть пока не нашел.
 

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
Сайт не имеет значения, самый простой селект.
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.
Я бы копал в этом направлении
 

valera-k

Client
Регистрация
26.12.2020
Сообщения
135
Благодарностей
13
Баллы
18
<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
 

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
<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
Валера... страницу видите только вы, значит и разобраться можете только вы. Я же дал направление в котором копал бы лично я
 

PudgeD

Client
Регистрация
26.11.2019
Сообщения
32
Благодарностей
4
Баллы
8
Встречал подобную вещь тут, тыкание по options ничего не дало. Самое интересное что если функцией "следовать за курсором" наводить на пункты меню, то подсвечиваются элементы под ними, только клавиатурой смог
 

Вложения

Deisler

Client
Регистрация
26.10.2019
Сообщения
486
Благодарностей
190
Баллы
43
Встречал подобную вещь тут, тыкание по options ничего не дало. Самое интересное что если функцией "следовать за курсором" наводить на пункты меню, то подсвечиваются элементы под ними, только клавиатурой смог
как вариант
 

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