لاگین کردن یک اکانت در WebBrowser
با سلام ،
معمولاً برای ورد اعضا به سایت یا پر کردن تکست باکس های یک سایت باید المنت ها Id و یا نام داشته باشند و برای تکس باکس ها هم حتماً باید Value داشته باشند تا بتونیم تکس مورد نزر رو در تکست باکس وارد کنیم حالا اگه المنت ها این خصوصیات رو نداشته باشند آیا باز میشه تکست باکس هارو پر کرد ؟ یا اگه کد اچ تی ام ال دکمه ای مثل کد زیر باشه که نه آی دی داره نه نام باید چجوری کلیک روی این دکمه رو انجام داد
کد HTML:
<input src="/IBSng/images/icon/ok.gif" type="image">
حالا من یه نمونه سایت هست میزارمش اگه میشه کم کنید ببینم چطوری میشه این دو تا تکست باکس رو وارد کنم و روی دکمه Ok که یک عکس هست کلیک کنم ممنون میشم راهنمایی کنید
لینک سایت : http://server.mihannod.ir/IBSng/user/
نقل قول: لاگین کردن یک اکانت در WebBrowser
نقل قول: لاگین کردن یک اکانت در WebBrowser
بیا از تابع for each استفاده کن برای name مثلا
foe each ele in elements
if ele.name="aaaa" then
تو اینترنت هست
نقل قول: لاگین کردن یک اکانت در WebBrowser
خب تست کن خودت لینک رو باز کن المنت هاش نام ندارن
نقل قول: لاگین کردن یک اکانت در WebBrowser
خب شما با src این کارو بکن یعنی اینپوت رو با src پیدا کن ... یه چیزی تو این مایه ها میشه ...:
var inputs = webBrowser1.Document.GetElementsByTagName("input") ;
foreach (HtmlElement input in inputs)
{
if (input.GetAttribute("src") == "/IBSng/images/icon/ok.gif")
{
//ClickOnMe
}
}
البته چون اونجا دوتا دکمه ی مشابه هست ممکنه به مشکل بخورین اما اونم میشه یه جورایی دور زد ... البته من ویژوال ندارم که تست کنم اما کد بالا کار میکنه ... در مورد دور زدن هم دقیقا مطمئن نیستم اما احتمالا همیشه دکمه ای که در کد نویسی بالا تر تعریف شده اول درون حلقه میاد پس با یه شرط چک کنین (اگه دکمه ی 2 رو میخواین) اگه دومین دکمه ای هست که این عکس رو داره روش کلیک کن ...(اینو تست کنین بنظر منطقی میاد ):لبخند:
نقل قول: لاگین کردن یک اکانت در WebBrowser
نقل قول:
نوشته شده توسط
aliagamon
خب شما با 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 نداره چطوری اطلاعات رو ست کنم ؟