Dag mensen,
Ik heb een stukje code wat een stukje tekst uit de source van een webpagina haalt. Deze webpagina is geopend op het form, m.b.v. een WebBrowser control.
Na het navigeren:
word deze code uitgevoerd:
Dit roept vervolgens deze code aan die in een klasse staat:
Nu is het vreemde; de code werkt tot op zeker hoogte gewoon, bij het debuggen gaat het de 1e keer goed. En net meerdere keren
, maar ik krijg nu allemaal de UnauthorizedAccessException... Om wat specifieker te zijn:
Toegang geweigerd. (Uitzondering van HRESULT: 0x80070005 (E_ACCESSDENIED))
Ik weet dat deze optreed op regel 23, dat is de regel dat de HtmlElementCollection wordt gevuld met de links.
Met google kwam ik uit op dingen als dat er dan nog een methode actief is en dat wanneer deze dan actief word er een fout optreedt ? Ik heb al op andere manier geprobeerd de HtmlDocument door te geven maar de error blijft komen
Hoe kan ik dit gewoon laten werken ?
edit:
------
Heb nog geprobeerd om een for-loop te gebruiken, mocht ook niet baten. En ook de code direct binnen de form plaatsten had geen resultaat...
Ik heb een stukje code wat een stukje tekst uit de source van een webpagina haalt. Deze webpagina is geopend op het form, m.b.v. een WebBrowser control.
Na het navigeren:
C#:
1
| webBrowser.Navigate(link, "MainFrame"); |
word deze code uitgevoerd:
C#:
1
| string link = s.GetLink(webBrowser.Document); |
Dit roept vervolgens deze code aan die in een klasse staat:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
| public string GetLink(HtmlDocument doc) { //alleen als er 3 frames zijn string link = ""; try { if (doc.Window.Frames.Count == 3) { //haal alle links op HtmlElementCollection links = doc.Window.Frames["MainFrame"].Document.Links; foreach (HtmlElement element in links) { if (element.OuterText != null && element.OuterText.Contains("blaat")) { string[] deler = { "\"" }; string[] res = element.OuterHtml.Split(deler, 3, StringSplitOptions.None); link = res[1]; break; } } } } catch (UnauthorizedAccessException e) { MessageBox.Show("#1.1 Fout: " + e.Message); } return link; } |
Nu is het vreemde; de code werkt tot op zeker hoogte gewoon, bij het debuggen gaat het de 1e keer goed. En net meerdere keren
Toegang geweigerd. (Uitzondering van HRESULT: 0x80070005 (E_ACCESSDENIED))
Ik weet dat deze optreed op regel 23, dat is de regel dat de HtmlElementCollection wordt gevuld met de links.
Met google kwam ik uit op dingen als dat er dan nog een methode actief is en dat wanneer deze dan actief word er een fout optreedt ? Ik heb al op andere manier geprobeerd de HtmlDocument door te geven maar de error blijft komen
Hoe kan ik dit gewoon laten werken ?
edit:
------
Heb nog geprobeerd om een for-loop te gebruiken, mocht ook niet baten. En ook de code direct binnen de form plaatsten had geen resultaat...
[ Voor 4% gewijzigd door Razr op 03-10-2007 21:53 ]