Войдите на kingdoms.com программно с помощью веб-браузера на c # (текстовые поля и кнопка в iframe) - PullRequest
0 голосов
/ 23 октября 2019

Я хочу войти на kingdoms.com с помощью веб-браузера. Но экран входа в систему находится в теге iframe, поэтому я не могу получить доступ к электронной почте, текстовым полям пароля и кнопке входа. пожалуйста, помогите мне.

HtmlWindowCollection iframes = wb.Document.Window.Frames;

HtmlWindow iframe = wb.Document.Window.Frames[2];

HtmlElement element = iframe.Document.GetElementsByTagName("input")[0];

1 Ответ

0 голосов
/ 23 октября 2019

Взято из здесь :

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);
        }

Вы можете моделировать нажатия клавиш с помощью кода из здесь по Раджеш

[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;
}
...