我需要在firefox浏览器中打开winform应用程序的链接。然后我想自动填写表单的输入(如用户名和密码)并生成一个按钮单击(例如,提交表单的登录按钮)。
我目前正在使用Interop.SHDocVw.dll对IE进行同样的思考,但我需要一个firefox实现。 mozilla的broswer有这样的dll吗?我需要开发一个插件吗?或者我可能不得不使用UI测试框架?
感谢您的回答!
布鲁诺
答案 0 :(得分:0)
所以我使用Process start启动Firefox:
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次....有谁知道发生了什么?