|
You last visited: Today at 15:14
Advertisement
Synchroner Webbrowser C#
Discussion on Synchroner Webbrowser C# within the .NET Languages forum part of the Coders Den category.
06/02/2015, 15:01
|
#1
|
Moderator
elite*gold: 26
Join Date: Dec 2010
Posts: 2,628
Received Thanks: 1,812
|
Synchroner Webbrowser C#
Hi, gibt es ne möglichkeit mit der System.Windows.Forms.WebBrowser Klasse synchron eine URL zu laden? Ich habe das ganze jetz einfach dirty gemacht:
Code:
private WebBrowser wb;
private bool isready;
public SpotifyInformationAPI()
{
isready = false;
wb = new WebBrowser();
wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(loadingdone);
}
private void loadingdone(object sender, WebBrowserDocumentCompletedEventArgs e)
{
isready = true;
}
public String[] getInformation(String URL)
{
isready = false;
String[] array = new String[2];
wb.Navigate(URL);
while (!isready)
{
Thread.Sleep(10);
Application.DoEvents();
}
string[] sep = new string[] { ", a song by ", " on Spotify" };
array = wb.DocumentTitle.Split(sep, StringSplitOptions.RemoveEmptyEntries);
return array;
}
Aber gibt es keinen anderen weg?
hoffe auf hilfe
LG
|
|
|
06/02/2015, 15:38
|
#2
|
elite*gold: 2932
Join Date: Oct 2009
Posts: 6,966
Received Thanks: 1,097
|
nein gibt es nicht, wenn möglich webrequests verwenden
|
|
|
06/02/2015, 19:00
|
#3
|
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
|
Wieso bestehst du eigentlich unbedingt darauf, deinen Code synchron auszuführen?
|
|
|
06/02/2015, 19:39
|
#4
|
Moderator
elite*gold: 26
Join Date: Dec 2010
Posts: 2,628
Received Thanks: 1,812
|
Quote:
Originally Posted by Mostey
Wieso bestehst du eigentlich unbedingt darauf, deinen Code synchron auszuführen?
|
Ich möchte den Song Titel und den Interpreten aus einem spotify link herausfiltern:
Das mache ich über den Titel der Seite und den kann ich erst auslesen nachdem die seite aufgebaut ist
Aber ich werder wie tolio vorgeschlangen hat auf web request umsteigen wenn das möglich ist, habe sowas noch nie gemacht hoffe ich kriege das hin hat jemand ein gutes tutorial ? Danke im Vorraus
LG
|
|
|
06/02/2015, 20:17
|
#5
|
elite*gold: 1091
Join Date: Jun 2007
Posts: 19,836
Received Thanks: 7,180
|
Quote:
Originally Posted by stotterer09
Das mache ich über den Titel der Seite und den kann ich erst auslesen nachdem die seite aufgebaut ist
|
Quote:
Originally Posted by stotterer09
Aber ich werder wie tolio vorgeschlangen hat auf web request umsteigen wenn das möglich ist, habe sowas noch nie gemacht hoffe ich kriege das hin hat jemand ein gutes tutorial ? Danke im Vorraus
LG
|
Wäre sicherlich eine bessere und performantere Alternative. Dazu findest du sicher genug Informationen. Hier auf elitepvpers hatte auch jemand vor nicht all zu langer Zeit mal ein ausführliches Video gedreht, schau mal in der Tutorial Sektion.
|
|
|
06/02/2015, 20:27
|
#6
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
|
1. WebBrowser löschen, wiederherstellen, nochmal löschen. Schritt je nach Lust und Laune wiederholen
2. Einfach ein GET-Request an die Spotify URL senden, am einfachsten wäre es in deinem Fall natürlich einfach einen WebClient zu nutzen:
PHP Code:
Dim html As String = New Net.WebClient().DownloadString("https://open.spotify.com/track/3nzMupDBOvfUoSVutSxNaY")
Die Variable enthält nun den gesamten Seitenquelltext. Interpret, Songname usw kannst du nun einfach per Split / RegEx / HtmlAgilityPack (empfohlen) rausfiltern.
Falls du doch lieber HttpWebRequests benutzen willst, ich habe hier damals ein kleines Tutorial dazu geschrieben, kannst es dir ja mal durchlesen:
|
|
|
06/02/2015, 21:17
|
#7
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
du kannst doch warten bis die seite fertig geladen hat
Code:
WB.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
while (!PageLoaded)
{
......
private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
PageLoaded = true;
}
......
WebBrowser.IsBusy
|
|
|
06/02/2015, 22:25
|
#8
|
Moderator
elite*gold: 26
Join Date: Dec 2010
Posts: 2,628
Received Thanks: 1,812
|
Quote:
Originally Posted by Mostey
Wäre sicherlich eine bessere und performantere Alternative. Dazu findest du sicher genug Informationen. Hier auf elitepvpers hatte auch jemand vor nicht all zu langer Zeit mal ein ausführliches Video gedreht, schau mal in der Tutorial Sektion.
|
Wie es dir vll. aufgefallen ist benutz ich das ereignis schon
jo ich werde umsteigen danke
Quote:
Originally Posted by »FlutterShy™
du kannst doch warten bis die seite fertig geladen hat
Code:
WB.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser_DocumentCompleted);
while (!PageLoaded)
{
......
private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
PageLoaded = true;
}
|
mach ich doch
|
|
|
06/02/2015, 23:06
|
#9
|
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
|
Quote:
Originally Posted by stotterer09
mach ich doch
|
du hast nach anderen wegen gefragt und da ist einer.
PS: Hatte das Post edit noch offen und nicht abgeschickt hatte IsBusy erst vergessen
|
|
|
06/03/2015, 06:38
|
#10
|
elite*gold: 0
Join Date: Mar 2015
Posts: 118
Received Thanks: 23
|
Warum nicht den neueren HttpClient benutzen?
Du hast zwar kein ftp und download progress report, aber die kann man sich auch leicht selber bauen.
Vor allem ist HttpClient in DNXCore nicht deprecated.
|
|
|
|
Similar Threads
|
[VB-10] Webbrowser
11/08/2013 - .NET Languages - 8 Replies
Bräuchte mal hilf beim Webbrowser.
Will so machen, dass wenn ich eine bestimmte Seite geöffnet habe, dass dann eine andere Form gestartet wird.
Ich hab es ausprobiert und ich glaub ich hab es schon richtig aber kriege ganze Zeit Syntaxfehler..
Imports System.Net.WebRequestMethods
Public Class Form2
Private Property http As Uri
|
VB.net webbrowser statt in IE in zweitem webbrowser laden :((
07/19/2013 - .NET Languages - 2 Replies
Hallo alle zusammen.
Mein Webbrowser klickt auf einen button, und dieser öffnet eine neue seite, die im IE geöffnet wird. Doch statt sie im IE zu öffnen, soll er sie in einem zweitem webbrowser auf einer anderen form öffnen..
Das problem dabei ist, dass ich soweit ich weiß nicht einfach den link nehmen kann und mit webbrowser.navigate dorthin kann, weil ich dabei eingeloggt bleiben muss.
Ich weiß dass das Thema schon oft behandelt wurde, sowohl hier als auch woanderas, aber diese ganzen...
|
Zero Webbrowser v1.0
06/01/2013 - elite*gold Trading - 2 Replies
hie könnt ihr meinen neuen Webbrowser Downloaden und testen
hier sind mal 20 keys
82oY-f9KG-mT0h-XHbM-3DO5
kTCA-EZfV-S9S0-VI54-XPdg
E08R-LuV9-AS3y-J809-yO7N
NG8V-fBAR-1sIs-KRMF-5KV7
lXLd-HAHT-4pc-FFUz-207j
T5R5-guaX-n1OE-2EJ9-8TO6
1kXV-ouhf-N8a5-T01-MICV
|
[Webbrowser] In Do Loop warten bis Webbrowser fertig geladen hat
02/21/2013 - .NET Languages - 3 Replies
Ich hab hier folgenden Code:
With New StreamReader(path)
Do
While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete
End While
Dim question As String = .ReadLine
RichTextBox1.Text = question
WebBrowser1.Document.GetElementById("profile- input").SetAttribute("value", question)
|
c++ webbrowser
10/17/2010 - C/C++ - 17 Replies
hey hab ne frage zu c++ mit vc++ 2008
ich hab n kleinen browser erstellt.
also wenn ich z.B. durch meinen browser auf google.de bin will ich , dass automatisch in das suchweld eingegeben wird was ich verlange und danach soll auf den button suchen geklickt werden.
bei fragen betzüglich meiner fragestellung einfach posten.
beim googeln bin ich oft auf GUI gestoßen. hat das was damit zu tun?
|
All times are GMT +2. The time now is 15:14.
|
|