Ключевые штрихи в ватине - PullRequest
       18

Ключевые штрихи в ватине

1 голос
/ 08 апреля 2011

Я пытаюсь заставить мое приложение watin нажать клавишу down , но я не вижу, как это сделать.Я видел это в предыдущем посте, вы должны использовать:

System.Windows.Forms.SendKeys.SendWait("{DOWN}"); 

, но это не будет работать для меня, так как я использую веб-браузер, какие-либо предложения?

Ответы [ 3 ]

3 голосов
/ 20 мая 2011

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

Например, этот фрагмент кода установит фокус в браузер и отправит клавишу «ВНИЗ»в окно браузера.

[DllImport("user32.dll")]
private static extern IntPtr SetFocus(IntPtr hWnd);

[DllImport("user32.dll")]
[return: MarshalAs(UnmanagedType.Bool)]
private static extern bool SetForegroundWindow(IntPtr hWnd);

private void SendDownKey(Browser browser)
{
    SetForegroundWindow(browser.document.DomContainer.hWnd);
    SetFocus(browser.document.DomContainer.hWnd);      

    SendKeys.SendWait("{DOWN}");
}
0 голосов
/ 29 марта 2012

На это есть несколько хороших ответов на следующий вопрос:

Передача нажатия клавиши (т. Е. Enter Key) в приложение с использованием сценариев WatiN

0 голосов
/ 18 апреля 2011

System.Windows.Forms.SendKeys.SendWait ( "{DOWN}"); предполагает, что вы нацелены на Windows App. Не могли бы вы попробовать заменить Windows на веб?

Надеюсь, это поможет. Дайте мне знать, если это не сработает, и я постараюсь разобраться в этом подробнее.

...