使用c#web浏览器(iframe中的文本框和按钮)以编程方式登录kingdoms.com



我想使用web浏览器登录kingdoms.com。但是登录屏幕在iframe标签中,所以我无法访问电子邮件、密码文本框和登录按钮。请帮帮我。

HtmlWindowCollection iframes = wb.Document.Window.Frames;
HtmlWindow iframe = wb.Document.Window.Frames[2];
HtmlElement element = iframe.Document.GetElementsByTagName("input")[0];

取自此处:

wb.Document.GetElementById("idName").SetAttribute("value") = "ddddd" ;

编辑:

然后找出你的光标指向哪里,并使用这个代码定位它

Cursor.Position = wb.PointToScreen(new Point(X_Coord, Y_Coord));

然后使用JohnForDummies 的这个答案中的代码执行鼠标点击

[DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
private const int MOUSEEVENTF_LEFTDOWN = 0x02;
private const int MOUSEEVENTF_LEFTUP = 0x04;
private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
private const int MOUSEEVENTF_RIGHTUP = 0x10;
public static void DoMouseClick()
{
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
}

您可以使用Rajesh 的代码模拟键盘按压

[DllImport("user32.dll")]
public static extern void keybd_event(byte bVk, byte bScan, uint dwFlags, uint dwExtraInfo);
const int VK_UP = 0x26; //up key
const int VK_DOWN = 0x28;  //down key
const int VK_LEFT = 0x25;
const int VK_RIGHT = 0x27;
const uint KEYEVENTF_KEYUP = 0x0002;
const uint KEYEVENTF_EXTENDEDKEY = 0x0001;
int press()
{
//Press the key
keybd_event((byte)VK_UP, 0, KEYEVENTF_EXTENDEDKEY | 0, 0);
return 0;
}

最新更新