本文整理匯總了C#中WatiN.Core.IE.Form方法的典型用法代碼示例。如果您正苦於以下問題:C# IE.Form方法的具體用法?C# IE.Form怎麽用?C# IE.Form使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類WatiN.Core.IE
的用法示例。
在下文中一共展示了IE.Form方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: Main
static void Main(string[] args)
{
//Делаем компилятор счастливым
string username = "";
System.Console.WriteLine("OZWar Bot v1.0");
System.Console.WriteLine("Инициализация IE...");
//Инициализация ватина
WatiN.Core.IE ieb = new IE("http://ozwar.ru/forum/index.php?app=core&module=global§ion=login");
ieb.Visible = false;
int ii = 0;
while (ii == 0)
{
System.Console.WriteLine("Авторизация...");
ieb.WaitForComplete();
//Вводим данные
System.Console.WriteLine("Введите имя пользователя:");
username = System.Console.ReadLine();
System.Console.WriteLine("Введите пароль:");
string password = System.Console.ReadLine();
ieb.TextField(WatiN.Core.Find.ByName("ips_username")).TypeText(username);
ieb.TextField(WatiN.Core.Find.ByName("ips_password")).TypeText(password);
ieb.Button(WatiN.Core.Find.ByClass("input_submit")).Click();
ieb.WaitForComplete();
if (ieb.Link(WatiN.Core.Find.ByTitle(username)).Exists)
{
ii = 1;
}
}
//Смотрим баланс
ieb.GoTo(ieb.Link(WatiN.Core.Find.ByTitle(username)).Url);
ieb.WaitForComplete();
System.Console.WriteLine("Баланс: " + ieb.Span(WatiN.Core.Find.ByClass("fc")).Text.ToString());
System.Console.WriteLine("Грузим ссылки...");
//Грузим ссылки
var ar1 = new List<string>();
System.IO.StreamReader file = new System.IO.StreamReader(@"c:\list.txt");
string line;
while ((line = file.ReadLine()) != null)
{
ar1.Add(line);
}
//Грузим фразы
System.Console.WriteLine("Грузим фразы...");
var ar2 = new List<string>();
System.IO.StreamReader file2 = new System.IO.StreamReader(@"c:\phrases.txt");
string line2 = "";
while ((line2 = file2.ReadLine()) != null)
{
ar2.Add(line2);
}
int co = 0;
while (co < ar1.Count)
{
ieb.GoTo(ar1[co]);
ieb.WaitForComplete();
if (!ieb.Link(WatiN.Core.Find.ByTitle("Изменить")).Exists)
{
System.Console.WriteLine("Текущая ссылка: " + ar1[co]);
int rnd = RandomInt(0, ar2.Count);
System.Console.WriteLine("Пишем");
ieb.TextField(WatiN.Core.Find.ByName("Post")).TypeTextQuickly(ar2[rnd] + "[color=#222222]Эта информация тут только для дебага, цыц, вы этого не видели. Не, ну серьёзно. Ну, а раз видели, значит её сейчас, к сожалению, сейчас не станет. Это сообщение отправлено ботом OreNew, пожалуйста, не читайте его.[/color]");
ieb.Form(WatiN.Core.Find.ById("ips_fastReplyForm")).Submit();
ieb.WaitForComplete();
ieb.GoTo(ieb.Link(WatiN.Core.Find.ByTitle("Изменить")).Url);
ieb.WaitForComplete();
ieb.TextField(WatiN.Core.Find.ByName("Post")).TypeText(ar2[rnd]);
ieb.Form(WatiN.Core.Find.ById("postingform")).Submit();
System.Console.WriteLine("Выполнено");
ieb.GoTo("http://ozwar.ru/forum/index.php?/user/609-benderfromfuture/");
ieb.WaitForComplete();
System.Console.WriteLine("Баланс: " + ieb.Span(WatiN.Core.Find.ByClass("fc")).Text.ToString());
co++;
}
else
{
System.Console.WriteLine("Найдены следы нас!");
co++;
}
System.Console.WriteLine("Ссылки кончились, бот завершил свою работу");
ieb.Link(WatiN.Core.Find.ByTitle("Выход")).Click();
System.Console.WriteLine("Выход из профиля...");
System.Console.ReadLine();
}
}
示例2: RequestContacts
public void RequestContacts()
{
// this test does a full end-to-end integration (request token, user authoriazation, exchanging request token
// for an access token and then using then access token to retrieve some data).
// the access token is directly associated with a google user, by them logging in and granting access
// for your request - thus the client is never exposed to the users credentials (not even their login).
IOAuthSession consumer = CreateGoogleContactsSession();
using (With.NoCertificateValidation())
{
IToken requestToken = consumer.GetRequestToken();
string userAuthorize = consumer.GetUserAuthorizationUrlForToken(requestToken, null);
string verificationCode;
using (var ie = new IE(userAuthorize))
{
Link overrideLink = ie.Link("overridelink");
if (overrideLink.Exists) overrideLink.Click();
if (ie.Form("gaia_loginform").Exists)
{
ie.TextField("Email").Value = "[email protected]";
ie.TextField("Passwd").Value = "oauth_password";
ie.Form("gaia_loginform").Submit();
}
ie.Button("allow").Click();
string html = ie.Html;
Assert.True(html.Contains("Authorized") || html.Contains("successfully granted"));
int index = html.IndexOf("verification code:");
Assert.True(index > 0);
int startIndex = html.IndexOf("<B>", index, StringComparison.InvariantCultureIgnoreCase);
int endIndex = html.IndexOf("</B>", startIndex + 1, StringComparison.InvariantCultureIgnoreCase);
verificationCode = html.Substring(startIndex + 3, endIndex - (startIndex + 3));
}
// this will implicitly set AccessToken on the current session...
IToken accessToken = consumer.ExchangeRequestTokenForAccessToken(requestToken, verificationCode);
try
{
string responseText = consumer.Request().Get().ForUrl("https://www.google.com/m8/feeds/contacts/default/base").ToString();
Assert.True(responseText.Contains("[email protected]"));
}
catch (WebException webEx)
{
var response = (HttpWebResponse) webEx.Response;
using (var reader = new StreamReader(response.GetResponseStream()))
{
throw new Exception("WebException was thrown upon request, response content follows:\r\n\r\n" + reader.ReadToEnd(), webEx);
}
}
}
}