PDA

View Full Version : کدی برای کلیک روی submit در یک فرم اینترنتی



sara_aryanfar
شنبه 22 مرداد 1390, 16:19 عصر
با سلام من از هر کدی استفاده کردم نتونستم روی دکمه ارسال در لینک زیر کلیک کنم یعنی هیچ راهی برای اینکار نیست من حتی از کد زیر هم استفاده کردم اما جواب نداد

private String SubmitForm(string url)
{

String result = "";

StreamWriter myWriter = null;

HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create(url);
objRequest.Method = "POST";

objRequest.ContentType = "application/x-www-form-urlencoded";

try
{
myWriter = new StreamWriter(objRequest.GetRequestStream());

}
catch (Exception e)
{
return e.Message;
}
finally
{
myWriter.Close();
}

HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
using (StreamReader sr = new StreamReader(objResponse.GetResponseStream()))
{
result = sr.ReadToEnd();
sr.Close();
}
return result;
}


اینم لینک صفحه ای هست که می خوام روی دکمه ارسال کلیک کنم
http://s-a-sh.mihanblog.com/linkdaily/new

sinashahab
یک شنبه 23 مرداد 1390, 01:18 صبح
خوب با استفاده از خاصيت هاي document توي webbrowser هم ميتوني كليك كني و هم پر كني فرم رو. يعني webbrowser رو يه شي ازش بساز و پشت پرده اين اعمال رو روش انجام بده.
اينو قبلا نوشته بودم، ببين ميتوني ازش چيزي بفهمي :

if (web.Document != null)
{
HtmlElementCollection elements = web.Document.Forms["MyForm"].All;
foreach (HtmlElement element in elements)
switch (element.GetAttribute("name"))
{
case "myshahradid":
element.SetAttribute("value", user);//x
break;
case "field":
element.SetAttribute("value", "x");
break;
}
}
else
{
MessageBox.Show("Error number re:x2012");
}
if (web.Document != null)
{
HtmlElementCollection elements = web.Document.Forms["MyForm"].All;
foreach (HtmlElement element in elements)
if (element.GetAttribute("name") == "submit1")
element.InvokeMember("click");
}
else
{
MessageBox.Show("Error number re:x3913");
}
}

sara_aryanfar
یک شنبه 23 مرداد 1390, 11:55 صبح
کد شما هم جواب نداد یا شاید من به درستی استفاده نکردم من پرکردن فرم مشکلی ندارم فقط موضوع کلیک روی باتن ارسال هست در صورت امکان یه نمونه کد که بتونه روی لینک زیر رو باتن ارسال کلیک کنه قرار بدهید ممنون از لطف شما
http://s-a-sh.mihanblog.com/linkdaily/new

sara_aryanfar
یک شنبه 23 مرداد 1390, 16:20 عصر
جالبه این سوال تو انجمن خارجی هم مطرح کردم تاپیک رو پاک کردن عجیبه ها؟:قهقهه:

sinashahab
یک شنبه 23 مرداد 1390, 17:02 عصر
هلو بپر تو گلو .
با یه ذره تغییر تو کد خودم شد که هم فرم رو پر کنم هم کلیک کنم :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
//webBrowser1.Document.Forms["frm-13133216354e47b2a3bd9df"]

if (webBrowser1.Document != null)
{
HtmlElementCollection elements = webBrowser1.Document.Forms[0].All;
foreach (HtmlElement element in elements)
switch (element.GetAttribute("name"))
{
case "data[url]":
element.SetAttribute("value", "sina");//x
break;
case "data[title]":
element.SetAttribute("value", "shahab");
break;
}
}
else
{
MessageBox.Show("Error number re:x2012");
}
}

private void button2_Click(object sender, EventArgs e)
{
if (webBrowser1.Document != null)
{
HtmlElementCollection elements = webBrowser1.Document.Forms[0].All;
foreach (HtmlElement element in elements)
if (element.GetAttribute("type") == "submit")
element.InvokeMember("click");
}
else
{
MessageBox.Show("Error number re:x3913");
}
}
}
}


اگه خدا بخواد تا چند وقت دیگه خواست آموزش دسترسی و بازی با صفحات html و webbrowser رو میزاریم تا اگه کسی نیاز داشت یه منبع خوب فارسی داشته باشه.

saman6384
یک شنبه 23 مرداد 1390, 17:14 عصر
این خدمت شما
اصولا کار نشد نداره :چشمک:

sara_aryanfar
یک شنبه 23 مرداد 1390, 19:25 عصر
با تشکر از لطف شما دوست عزیز چندان هم هلو نبود چون من چندین انجمن داخلی و خارجی رو گشته بود ولی خوب از قدیم گفتند همه چیز را همه کس داند قبول دارین این موضوع رو ؟
سوالی که دارم این هست که این عدد صفر مقابل فرم رو که نوشتین برا توضیح بدین ممنون

sinashahab
دوشنبه 24 مرداد 1390, 00:14 صبح
موضوع ؟ همگان هنوز نيومدن.
اين صفر شماره ي فرمي هست كه داخل html تعريف شده موقع طراحي به عبارتي.
بستگي به كد html اي داره كه صفحه داره نمايشش ميده. توي كد اون صفحه 1 فرم تعريف شده بود و براي همين من براي بهتر شدن كار ، در اون قسمت صفحه كه به عنوان فرم نوشته شده بود ، دنبال كنترلي با اسمي كه ميخوام گشتم.