PDA

View Full Version : لاگین کردن یک اکانت در WebBrowser



Sir-Programmer
شنبه 04 مرداد 1393, 13:31 عصر
با سلام ،
معمولاً برای ورد اعضا به سایت یا پر کردن تکست باکس های یک سایت باید المنت ها Id و یا نام داشته باشند و برای تکس باکس ها هم حتماً باید Value داشته باشند تا بتونیم تکس مورد نزر رو در تکست باکس وارد کنیم حالا اگه المنت ها این خصوصیات رو نداشته باشند آیا باز میشه تکست باکس هارو پر کرد ؟ یا اگه کد اچ تی ام ال دکمه ای مثل کد زیر باشه که نه آی دی داره نه نام باید چجوری کلیک روی این دکمه رو انجام داد

<input src="/IBSng/images/icon/ok.gif" type="image">
حالا من یه نمونه سایت هست میزارمش اگه میشه کم کنید ببینم چطوری میشه این دو تا تکست باکس رو وارد کنم و روی دکمه Ok که یک عکس هست کلیک کنم ممنون میشم راهنمایی کنید
لینک سایت : http://server.mihannod.ir/IBSng/user/

Sir-Programmer
شنبه 04 مرداد 1393, 15:30 عصر
کسی نیست کمک کنه :( ??

ehsan2589040
شنبه 04 مرداد 1393, 18:16 عصر
بیا از تابع for each استفاده کن برای name مثلا
foe each ele in elements
if ele.name="aaaa" then
تو اینترنت هست

Sir-Programmer
شنبه 04 مرداد 1393, 18:39 عصر
خب تست کن خودت لینک رو باز کن المنت هاش نام ندارن

aliagamon
یک شنبه 05 مرداد 1393, 00:14 صبح
خب شما با src این کارو بکن یعنی اینپوت رو با src پیدا کن ... یه چیزی تو این مایه ها میشه ...:

var inputs = webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement input in inputs)
{
if (input.GetAttribute("src") == "/IBSng/images/icon/ok.gif")
{
//ClickOnMe
}
}

البته چون اونجا دوتا دکمه ی مشابه هست ممکنه به مشکل بخورین اما اونم میشه یه جورایی دور زد ... البته من ویژوال ندارم که تست کنم اما کد بالا کار میکنه ... در مورد دور زدن هم دقیقا مطمئن نیستم اما احتمالا همیشه دکمه ای که در کد نویسی بالا تر تعریف شده اول درون حلقه میاد پس با یه شرط چک کنین (اگه دکمه ی 2 رو میخواین) اگه دومین دکمه ای هست که این عکس رو داره روش کلیک کن ...(اینو تست کنین بنظر منطقی میاد ):لبخند:

Sir-Programmer
یک شنبه 05 مرداد 1393, 01:50 صبح
خب شما با src این کارو بکن یعنی اینپوت رو با src پیدا کن ... یه چیزی تو این مایه ها میشه ...:

var inputs = webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement input in inputs)
{
if (input.GetAttribute("src") == "/IBSng/images/icon/ok.gif")
{
//ClickOnMe
}
}

البته چون اونجا دوتا دکمه ی مشابه هست ممکنه به مشکل بخورین اما اونم میشه یه جورایی دور زد ... البته من ویژوال ندارم که تست کنم اما کد بالا کار میکنه ... در مورد دور زدن هم دقیقا مطمئن نیستم اما احتمالا همیشه دکمه ای که در کد نویسی بالا تر تعریف شده اول درون حلقه میاد پس با یه شرط چک کنین (اگه دکمه ی 2 رو میخواین) اگه دومین دکمه ای هست که این عکس رو داره روش کلیک کن ...(اینو تست کنین بنظر منطقی میاد ):لبخند:
ممنون تست نکردم ولی الان تست میزنم ، در مورد تکست باکس چی ؟ اونم Value نداره چطوری اطلاعات رو ست کنم ؟