открывать и манипулировать веб-формой в Firefox - PullRequest
0 голосов
/ 17 марта 2011

Мне нужно открыть ссылку из приложения winform в браузере Firefox.Затем я хотел бы автоматически заполнить входные данные формы (например, имя пользователя и пароль) и сгенерировать нажатие кнопки (кнопка входа в систему для отправки формы, например).

В настоящее время я делаю то же самое с IE, используя Interop.SHDocVw.dll, но мне нужна реализация Firefox.Есть ли такая dll для обозревателя Mozilla?Нужно ли разрабатывать плагин?или, может быть, мне придется использовать среду тестирования пользовательского интерфейса?

спасибо за ответы!

Бруно

1 Ответ

0 голосов
/ 23 марта 2011

Итак, я запускаю Firefox, используя Process start:

Process.Start("firefox.exe", "http://www.mywebsite.com");

Затем я использую USER32.DLL, чтобы найти и сосредоточиться на окне Firefox:

// Get a handle to an application window.
[DllImport("USER32.DLL", CharSet = CharSet.Unicode)]
public static extern IntPtr FindWindow(string lpClassName, string lpWindowName);

// Activate an application window.
[DllImport("USER32.DLL")]
public static extern bool SetForegroundWindow(IntPtr hWnd);

private void btnEnterText_Click(object sender, EventArgs e)
    {
        var handle = FindWindow("MozillaUIWindowClass", "Environnement de recette 1.4.0.3 - Mozilla Firefox");
        SetForegroundWindow(handle);
        SendKeys.SendWait(txtEntry.Text);
    }

Я нашел класс окна иназвание благодаря spy ++.

Так что моя проблема нет - переходить к следующему вводу на странице ... когда я использую это:

SendKeys.SendWait("{TAB}");

он перемещает фокус, как я нажалTAB 2 раза .... Кто-нибудь знает, что происходит?

...