Перейти к содержимому

Фотография

Симуляция нажатия клавиши с клавиатуры


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 PARTIZAN

PARTIZAN

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Андрей

Отправлено 04 мая 2012 - 08:13

Всем привет.

У меня возникла такая проблема при нажатии клавиши ТАБ:

Я пробовал нажимать клавишу двумя методами(стандартным методом селениума и через SendKeys), ниже приведены примеры:

ClickTabButton(int number)
{
Model.SerialNumberOfDosimeters(number).Focus(); // устанавливается фокус на поле, в котором надо кликнуть кнопку ТАБ

Selenium.KeyPressNative("09");

return this;
}

public void ClickTabButton(int number)
{
Process[] processes = Process.GetProcessesByName("firefox");

if(processes.Length > 0)
{
SetForegroundWindow(proc.MainWindowHandle);
SendKeys.SendWait("{TAB}");
}
}
}

Все работает при том условии, что ты запускаешь тест и не переключаешься на другое окно,то есть окно браузера активно.

Может кто-нибудь подсказать как сделать так,чтобы кнопка нажималась, когда окно браузера неактивно?

Заранее спасибо. И прошу прощения, если недостаточно корректно изложил суть проблемы.
  • 0

#2 D2Phoenix

D2Phoenix

    Постоянный участник

  • Members
  • PipPipPip
  • 200 сообщений
  • ФИО:Чадюк Вадим
  • Город:Гродно


Отправлено 04 мая 2012 - 10:14

Можно попробовать так
selenium.keyPress(input, "\\9");
но не уверен
А этот ваш метод не работает????
public void ClickTabButton(int number)
{
Process[] processes = Process.GetProcessesByName("firefox");

if(processes.Length > 0)
{
SetForegroundWindow(proc.MainWindowHandle);
SendKeys.SendWait("{TAB}");
}
}
}


  • 1

#3 PARTIZAN

PARTIZAN

    Новый участник

  • Members
  • Pip
  • 7 сообщений
  • ФИО:Андрей

Отправлено 04 мая 2012 - 10:32

Работают оба метода, но только если окно браузера активно....если же компьютер либо залочен, либо просто активно что-то другое, то нажатия не происходит...
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных