Auge: Telefonbuch Rückwärtssuche

Beitrag lesen

Hallo

        Try
            While i < 10
                '
                Dim _Name As String = HttpUtility.HtmlDecode(divLeftOnHit.ChildNodes.FirstOrDefault(Function(a) a.Name = "a").InnerText.Replace(CrLf, ""))
                '
                i += 1
            End While

Da mache ich sicher etwas falsch.

Ja und ja, auch in deiner Logik.

Wie von RolfB schon angemerkt, steckt der Name in einem Link (a) in einer Überschrift (h2). Du suchst aber nach „irgendeinem“ Link. Wenn vor der Überschift ein anderer Link notiert ist, bekommst du halt diesen zurück. Suche also zuerst nach der Überschrift des Eintrags (h2) und in dieser Überschrift nach dem Link.

Ich habe keine Erfahrung mit VB neuer als MS-Office-97, geschweige denn mit VB.NET. Rolfs Ausfühungen lassen mich aber vermuten, dass die kombinierte Suche nach einem Link in einer Überschrift in einem Schritt, wie es sie beispielsweise in JavaScript gibt [1], nicht möglich ist. Wenn ich das richtig verstehe, musst du tatsächlich erst die Überschrift finden und danach dort den Link mit dem Namen herausklauben.

Tschö, Auge

--
Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
Hohle Köpfe von Terry Pratchett

  1. Den Link mit dem Namen bekämst du in JS mit var namensElement = document.querySelector('#entry_23 .oe_hit h2 a');, wobei sich die Frage stellt, ob man die ID im Selektor wirklich braucht. ↩︎