Zdarvim,
vedel by niekto ako by som mohol dosiahnut to, ze v C# nacitam stranku, a nasledne do urcitych poli pormularu zadam potrebne udaje a nakoniec to aj cele potvrdim?
Dakujem za kazdu pomoc
Fórum › .NET
Vyplnenie php formularu pomocou C#
Pokiaľ ten formulár presne poznáš, tak by to nemal byť problém.
Z documentu webbrowsera si načítaš ElementsByTagName("input") a podľa ich názvu si ošetríš , že ktorému akú hodnotu (Value) nastavíš. Následne si invokneš klik odosielajúceho tlačítka...
Resp. jednoduchšie by bolo, ak sa formulár odosiela cez POST pozrieť adresu odoslaného,a rovno tam napísať údaje aké chceš
podarilo sa mi uz formular vyplnit, ale neviem ako to cele odslat.
form vyzera takto
<form method=post action="" name=form onSubmit="return check();">
...
...
<input type=submit value='Submit'>
cize je to metoda POST ako bolo hore spominane
Docela by me to taky zajimalo tohle jak funguje...Jen nevim jak to muze vypadat takze pokud mam formular na strance nakej form tak na nej reaguju pres co ? MOhl by sem prosim nekdo napsat nakou malou ukazku ? Dekuji
Kdysi jsem na to napsal knihovnu ->
http://dl.dropbox.com/u/10150476/Release.rar
Ukázka práce s ní ->
WebControl _webbrowser = new WebControl();
WebBrowser webBrowser1; //novy webbrowser
//Zde ho plácnu na form i s přiřazením k WebControlu
webBrowser1 = _webbrowser.WebBrowser;
webBrowser1.Dock = System.Windows.Forms.DockStyle.Bottom;
webBrowser1.Location = new System.Drawing.Point(0, 30);
webBrowser1.MinimumSize = new System.Drawing.Size(20, 20);
webBrowser1.Name = "webBrowser1";
webBrowser1.Size = new System.Drawing.Size(734, 529);
webBrowser1.TabIndex = 0;
webBrowser1.ScrollBarsEnabled = true;
webBrowser1.Visible = false;
Controls.Add(webBrowser1);
//pote jedu
_webbrowser.Navigate("http://seznam.cz");
_webbrowser.FillInput("q", "co chci hledat"); //dát tam jméno inputu (q)
_webbrowser.ClickButton("Hledej"); //pak bud jeho name nebo jeho value
Zde je zdroják
http://paste2.org/p/1163243
budete potřebovat ještě
using SHDocVw;
using mshtml;
using System.Runtime.InteropServices;
knihovny zde
http://dl.dropbox.com/u/10150476/dlls.rar
Jinak tu knihovnu jsem psal dávno, jde to i jednodušeji :)
Tak ještě to jde udělat přes javascript a použít ještě ty funkce s domdocumentu
HtmlDocument htdoc = webBrowser1.Document;
htdoc.GetElementById("inet-field").SetAttribute("value", "co hledam??"); //takhle se vyplnují inputy podle id
webBrowser1.Navigate("javascript:document.getElementById('hledej').click();"); //na tlačítka se kliká jednodušeji přes javascript
dartanan napsal:
podarilo sa mi uz formular vyplnit, ale neviem ako to cele odslat.
form vyzera takto<form method=post action="" name=form onSubmit="return check();">
...
...
<input type=submit value='Submit'>
cize je to metoda POST ako bolo hore spominane
Moj starší kod vypadal takto:
HtmlElementCollection elements = webBrowser1.Document.GetElementsByTagName("input");
for (int i = 1; i < 4; i++)
{
if (elements[i].Name == "login")
{
elements[i].SetAttribute("value", login);
}
else if (elements[i].Name == "password")
{
elements[i].SetAttribute("value", heslo);
}
else
{//toto nám emuluje click tlačítka
elements[i].InvokeMember("click");
}
}
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
GPR pomocou php — založil netman92
Odesílání formulářů přes PHP script — založil infomf
Download suboru pomocou PHP skriptu — založil george
Výber a comapre z tabuľky ID z MYSQL pomocou PHP — založil Filip
Zmena suborov na serveri pomocou exec() v PHP — založil marioff
Moderátoři diskuze