Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet egy C#, Windows...

Hogyan lehet egy C#, Windows Forms applikációban egy webbrobser objectbol kinyerni az összes linket?

Figyelt kérdés

Rengeted megoldás van a netten de egy sem működik, meg az a módszer sem ami elméletileg direkt erre lett kitalálva.


HtmlElementCollection links = helpdeskWebBrowser.Document.Links;


2015. jún. 4. 21:32
 1/7 anonim ***** válasza:
pontosan mi a baj a Document.Links-szel? Nem adja vissza mind? Melyik oldalon, és melyik az a link, amit hiányolsz?
2015. jún. 4. 23:18
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
Hát, ha egyik se működik (bár el se tudom képzelni, miért) akkor regex-el ki tudod szedni az összes <a> és </a> közötti szöveget - ez ki fogja adni a linkeket.
2015. jún. 5. 07:38
Hasznos számodra ez a válasz?
 3/7 A kérdező kommentje:

igen a document.links nem terít vissza semmit és a getelementbytagname("a"); sem :(

pedig, a browserbe betöltődik az oldal de nem lát rajta egy linketsem

2015. jún. 5. 09:59
 4/7 SimkoL ***** válasza:

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 WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}


private void button1_Click(object sender, EventArgs e)

{

{

WebBrowser web = new WebBrowser();

web.NewWindow += new CancelEventHandler(web_NewWindow);

web.Navigate(" http://www.gyakorikerdesek.hu/szamitastechnika__programozas_..

while (web.ReadyState != WebBrowserReadyState.Complete)

{

Application.DoEvents();

}

HtmlElementCollection ht = web.Document.Links;

List<string> urls = new List<string>();

foreach (HtmlElement h in ht)

{

try

{

if ((h.GetAttribute("href") != null))

{

urls.Add(h.GetAttribute("href"));

}

}

catch

{ }

}

foreach (string url in urls) listBox1.Items.Add(url);

}

}

void web_NewWindow(object sender, CancelEventArgs e)

{

e.Cancel = true;

}

}

}


Ez nekem működik.

2015. jún. 5. 11:39
Hasznos számodra ez a válasz?
 5/7 A kérdező kommentje:
kezdek beleörülni, el nem tudom képzelni mi lehet a probléma.. nem rak semmit a list boxba...
2015. jún. 5. 13:33
 6/7 SimkoL ***** válasza:
2015. jún. 5. 14:14
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:
Köszi szépen , ez működött.
2015. jún. 5. 16:31

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!