Я новичок в facebook SDK 6.0.10.0 для С#/Windows Form
Я пытаюсь найти решение для автоматического заполнения поля имени пользователя и пароля со страницы входа в мой компонент WebBrowser. Хранение токена не является решением, в моем случае я тестирую клиентское приложение с 5 различными учетными записями, и я трачу на это слишком много времени.
Это мой HTMLDocument, созданный из моего элемента управления WebBrowser: http://pastebin.com/3Xy49vLG
Как я могу автоматизировать работу и не терять много времени при тестировании?
Мой ответ не использует Facebook SDK, он просто использует элемент управления System.Windows.Forms.WebBrowser с загруженной веб-страницей http://facebook.com, имеющей следующие элементы управления html входа в правом верхнем углу:
public void LoginToFaceBook(System.Windows.Forms.HtmlDocument doc, string email, string password)
{
//<input name="email" tabindex="1" class="inputtext" id="email" type="text" value="">
doc.GetElementById("email").SetAttribute("value", email);
//<input name="pass" tabindex="2" class="inputtext" id="pass" type="password">
doc.GetElementById("pass").SetAttribute("value", password);
//<input tabindex="4" id="u_0_n" type="submit" value="Log In">
doc.GetElementById("u_0_n").InvokeMember("click");
}
/// <remarks>Should be logged-in to call this method</remarks>
public void LogOutFromFaceBook(System.Windows.Forms.HtmlDocument doc)
{
// <input class="uiLinkButtonInput" type="submit" value="Log Out" />
(from tag in doc.GetElementsByTagName("input").OfType<System.Windows.Forms.HtmlElement>()
where tag.GetAttribute("className") == "uiLinkButtonInput" &&
tag.GetAttribute("type") == "submit" &&
tag.GetAttribute("value") == "Log Out"
select tag).First().InvokeMember("click");
}