String (Webseiten-Quelltext) durchsuchen

  • VB.NET

Es gibt 18 Antworten in diesem Thema. Der letzte Beitrag () ist von MrNicolas3003.

    String (Webseiten-Quelltext) durchsuchen

    Hallo,
    ich habe ein Problem. Und zwar habe ich ein Programm erstellt, welches sich auf einer Seite einloggt und von dieser den Quelltext in einem String speichert. Nun möchte ich den Quelltext durchsuchen.

    Der Quelltext sieht so aus (das Nötigste ausgeschnitten):

    HTML-Quellcode

    1. <input type="radio" name="salutation" id="SSO_REGISTER_ADMIN_NAME_SALUTATION" value="Herr" class="check" checked="">


    Nun möchte ich dass von dem String später nicht mehr übrig bleibt bist auf das was zwischen den "" bei value="Herr" seht, sprich dass ich dann einen String bekomme in dem dann nur noch Herr steht.

    Wie stelle ich das an?

    MfG
    MrNicolas3003
    <input type="radio" name="salutation" id="SSO_REGISTER_ADMIN_NAME_SALUTATION" value="Herr" class="check" checked="">

    Du könntest alle Lines durchgehen, und wenn die Zeile mit (String.StartsWith) <input type="radio" name="salutation" beginnt, splittest du diese nach '"'. "Herr" oder alles andere in value wär dann der 7. Eintrag im Array.
    Suchen in XML -> XPath
    Am einfachsten mit dem HTMLAgilityPack (via NuGet)

    "//input[@type='radio']/@value" (oder so ähnlich) und dann InnerText. Sucht im gesamten Text/XML nach 'input' Elementen die das Attribut 'type' mit dem Wert 'radio' haben und nimmt dann das Attribut 'value'

    XPath Syntax zb hier: msdn.microsoft.com/de-de/library/ms256086.aspx

    EDIT:
    So gehts

    VB.NET-Quellcode

    1. Dim xdoc As New HtmlAgilityPack.HtmlDocument
    2. xdoc.Load("xml.txt")
    3. For Each n In xdoc.DocumentNode.SelectNodes("//input[@type='radio'][@value]")
    4. Console.WriteLine(n.Attributes("value").Value)
    5. Next

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „picoflop“ ()

    @RushDen
    Nein, es kann auch Frau dazwischen stehen.

    @ThuCommix
    Ich hab das mit den Lines durchgehen probiert. Jedoch bekomme ich immer dabei False zurück wenn ich mir das in einer MsgBox ausgeben lasse, was so viel heisst das er den Zeile nicht finden kan, verstehe ich das richtig?
    Ich denke mal dass es an den vielen "" liegt.

    VB.NET-Quellcode

    1. html.StartsWith("<input type=""radio"" name=""salutation"" id=""SSO_REGISTER_ADMIN_NAME_SALUTATION"" value=""")


    Ich muss dass immer mit doppelten " machen, sonst erkennt Visual Basic das nicht richtig...

    @picoflop
    Später muss ich auch noch mehrere TextBoxen auf der Webseite auslesen. Das heißt ich hätte mehrere Elemente mit dem gleichem Type und Wert oder?
    Achsoo okay. Habe es jetzt über das HTMLAgilityPack gemacht, habe auch deinen Code verwendet und bei xdoc.Load nicht aufdie XML verwiesen sondern auf meine Quelle, ist das so richtig?
    Leider bekomme ich dann beim Ausführen auch noch den Fehler (Bild siehe Anhang). :(
    Bilder
    • fehler.JPG

      30,73 kB, 551×309, 167 mal angesehen

    MrNicolas3003 schrieb:

    Leider bekomme ich dann beim Ausführen auch noch den Fehler (Bild siehe Anhang).

    Der ist ja ziemlich eindeutig -> (syntaktisch) falscher (Datei)Pfad. Und wenn du "deine Quelle" schreibst, dann meinst du ... ? Evtl eine URL? Die kannst du nicht direkt laden. Da müsstest du dann über HtmlWeb gehen:

    VB.NET-Quellcode

    1. Dim web As New HtmlAgilityPack.HtmlWeb
    2. Dim xdoc As HtmlAgilityPack.HtmlDocument = web.Load("http://www.irgendwas.de")
    Hallo,

    ich würde dir für den Anfang Regex empfehlen. Habe fürher oft probleme damit gehabt, aber wenn du´s einmal verstanden hast, ists relative einfach.

    Hier mal ein gutes Tutorial :
    [VB 2010] Regex Tutorial für Leute die es einfach nicht verstehen


    Lösung für dein Problem :

    VB.NET-Quellcode

    1. Dim value as String = Regex.Match(deinString , "<input type=""radio"" name=""salutation"" id=""SSO_REGISTER_ADMIN_NAME_SALUTATION"" value=""(?<value>.+?)"" class=""check"" checked=""""> ").Groups("value").Value


    Hoffe ich konnte dir helfen.

    picoflop schrieb:

    Redjo schrieb:

    ich würde dir für den Anfang Regex empfehlen

    Für XML? Wo es spezielle Parser gibt, die GENAU für XML gedacht sind? Und wenn du ein Paket Schrauben aus dem Baumarkt holst, dann suchst du dir vorher einen passenden Siebeneinhalbtonner?



    Es gibt mehrere Lösungswege. Natürlich gibt es Parser, für XML, Json usw. Die Frage dahinter ist doch wohl, wie viel Erfahrung hat unser Threadersteller, und 2. was genau will er einlesen.
    Daraus folgt meine Entscheidung dem TE Regex zu empfehlen, das ist meine Meinung, wenn du dies als "Sinnlos" erachtest, ist das deine.
    Okay. Also so ganz geklappt hat das nun doch irgendwie nicht, keine der beiden Arten...

    Also ich logge mich ein und gehe eingeloggt auf eine Seite, auf der ich Dinge auslesen muss.

    @Redjo
    Dein Code gibt mir nichts zurück. Ich lasse das ganze in einer MsgBox ausgeben, diese ist allerdings leer.

    @picoflop
    Dein Code gibt mir was aus, allerdings jedoch nicht das gewünschte Mann, sondern nacheinander web, portal, produkte, wiki, telefonbuch.

    Als Quelle wollte ich eigentlich "html" nehmen für das AgilityPack, allerdings hat das den Fehler vorgebracht. Dann wollte ich den Quelltext seperat nochmal dwnloaden mit dem von deinem geschriebenen Code aber das bringt auch nicht das Erwünschte.

    Ich poste hier nochmal meinen kompletten Programmcode:

    VB.NET-Quellcode

    1. With New Http
    2. 'hier wird der Seitenquelltext gespeichert
    3. Dim html As String = String.Empty
    4. 'Login ausführen
    5. Dim username As String = "###"
    6. Dim password As String = "###"
    7. html = .GetResponse("https://www.arcor.de/login/login.jsp", "user_name=" & username & "&info=Online-Passwort&password=" & password & "&login=Login&goto=&protocol=https&promo=")
    8. 'Hauptseite aufrufen
    9. html = .GetResponse("https://www.arcor.de/ums/ums_spamblocker_akt.jsp")
    10. 'prüfen, ob Login erfolgreich war
    11. If html.Contains("Logout") Then
    12. MsgBox("Engeloggt!")
    13. Else
    14. MsgBox("Ne du, lass mal!")
    15. End If
    16. html = .GetResponse("http://www.arcor.de/register/admin_name.jsp")
    17. If html.Contains("Vorname") Then
    18. MsgBox("GEHT!")
    19. Else
    20. MsgBox("GEHT NICHT!")
    21. End If
    22. 'regex-versuch
    23. Dim value As String = Regex.Match(html, "<input type=""radio"" name=""salutation"" id=""SSO_REGISTER_ADMIN_NAME_SALUTATION"" value=""(?<value>.+?)"" class=""check"" checked=""""> ").Groups("value").Value
    24. MsgBox(value)
    25. 'HttpAgilityPack-Versuch
    26. Dim web As New HtmlAgilityPack.HtmlWeb
    27. Dim xdoc As HtmlAgilityPack.HtmlDocument = web.Load("http://www.arcor.de/register/admin_name.jsp")
    28. For Each n In xdoc.DocumentNode.SelectNodes("//input[@type='radio'][@value]")
    29. MsgBox(n.Attributes("value").Value)
    30. End With


    Dazu noch eine Klasse:

    VB.NET-Quellcode

    1. Public Class Http
    2. Dim cookieCon As New CookieContainer
    3. Dim request As HttpWebRequest
    4. Dim response As HttpWebResponse
    5. Public Function GetResponse(ByVal url As String) As String
    6. request = CType(HttpWebRequest.Create(url), HttpWebRequest)
    7. request.CookieContainer = cookieCon
    8. response = CType(request.GetResponse(), HttpWebResponse)
    9. Return New StreamReader(response.GetResponseStream()).ReadToEnd()
    10. End Function
    11. Public Function GetResponse(ByVal url As String, ByVal post As String) As String
    12. request = CType(HttpWebRequest.Create(url), HttpWebRequest)
    13. request.Method = "POST"
    14. request.CookieContainer = cookieCon
    15. request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0"
    16. request.ContentType = "application/x-www-form-urlencoded"
    17. Dim byteArr() As Byte = Encoding.Default.GetBytes(post)
    18. request.ContentLength = byteArr.Length
    19. Dim dataStream As Stream = request.GetRequestStream()
    20. dataStream.Write(byteArr, 0, byteArr.Length)
    21. response = CType(request.GetResponse(), HttpWebResponse)
    22. Return New StreamReader(response.GetResponseStream()).ReadToEnd()
    23. End Function
    24. End Class


    Ich glaub ich bin zu doof :D
    MfG MrNicolas3003


    Edit by Manschula: (Gültige?) Zugangsdaten aus Quellcode entfernt!

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Manschula“ ()

    Ja okay, da gebe ich dir recht. Welchen Ausschnitt bräuchtest du denn?

    Ich hab hier mal den noch von den ausgespuckten Ergebnissen mal gesucht:

    HTML-Quellcode

    1. <input type="radio" id="web" name="scategorytype" value="web" class="radio" onclick="if(document.getElementById('websearch').value==''){document.getElementById('websearch').className='googlesearch'};
    2. changeProp('webview','','style.display','block','DIV');
    3. changeProp('phoneview','','style.display','none','DIV')" checked="checked">
    4. <input type="radio" id="portal" name="scategorytype" value="portal" class="radio" onclick="document.getElementById('websearch').className='googlesearch_blank';
    5. changeProp('phoneview','','style.display','none','DIV');
    6. changeProp('webview','','style.display','block','DIV')">
    7. <input type="radio" id="produkt" name="scategorytype" value="produkte" class="radio" onclick="document.getElementById('websearch').className='googlesearch_blank';
    8. changeProp('phoneview','','style.display','none','DIV');
    9. changeProp('webview','','style.display','block','DIV')">
    10. <input type="radio" id="wiki" name="scategorytype" value="wiki" class="radio" onclick="document.getElementById('websearch').className='googlesearch_blank';
    11. changeProp('phoneview','','style.display','none','DIV');
    12. changeProp('webview','','style.display','block','DIV')">
    13. <input type="radio" id="telefonbuch" name="scategorytype" value="telefonbuch" class="radio" onclick="if(document.getElementById('telesearchname').value==''){
    14. document.getElementById('telesearchname').className='telesearch_name'};
    15. if(document.getElementById('telesearchort').value==''){document.getElementById('telesearchort').className='telesearch_ort'};
    16. document.getElementById('webview').display='none';
    17. document.getElementById('phoneview').display='block';
    18. changeProp('phoneview','','style.display','block','DIV');
    19. changeProp('webview','','style.display','none','DIV')">

    picoflop schrieb:

    Da seh ich aber nirgendwo "Herr" ...


    Ja, weil das der Quellcode von den ausgegebenen Ergebnissen ist. Ich kann dir gerne den kompletten Quellcode kopieren.
    Interessant sind die Zeilen 78-100, da hier auch Radio-Buttons verwendet werden, allerdings für etwas anderes. Diese werden mich auch ausgegeben...
    In den Zeile 341/342 befindet sich der Radio-Button, den ich haben will.

    Spoiler anzeigen

    Quellcode

    1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>
    2. <head>
    3. <title>Arcor Meine Daten</title>
    4. <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type"><meta name="robots" content="noodp">
    5. <meta content="Vodafone D2 GmbH" name="author">
    6. <link href="http://i.arcor.de/favicon.ico" rel="shortcut icon"><script type="text/javascript" language="JavaScript">
    7. <!--
    8. window.NG_STYP = 68;
    9. window.NG_UFIX = 'http://www.arcor.de';
    10. window.NG_IMGURL = 'http://i.arcor.de';
    11. var pageKat='acc-admin-name';
    12. //-->
    13. </script><script language="JavaScript" src="http://i.arcor.de/scripts/mps/kgbpopup.js" type="text/javascript"></script><script language="JavaScript" type="text/javascript">
    14. function pdata()
    15. {
    16. document.forms.pdata.reqMail.value = "true";
    17. document.forms.pdata.submit();
    18. }
    19. </script><script type="text/javascript">var gujadLink = NG_UFIX+'/adserver/';
    20. var siteName = 'arcor.de';
    21. if (window.location.search.indexOf('gujad=1') > -1) {
    22. gujadLink = 'http://test.adsatellite.guj.de/satellite_dev.php/get-file-content/1/' + siteName + '/';
    23. }
    24. document.write('<scr'+'ipt type="text/javascript" src="'+ gujadLink +'gujAd.js"></scr'+'ipt>');
    25. document.write('<link rel="stylesheet" type="text/css" media="screen" href="'+ gujadLink +'gujAd.css" />');
    26. </script><script src="http://i.arcor.de/scripts/jquery/jquery-1.7.2.min.js" type="text/javascript"></script><script src="http://i.arcor.de/scripts/r/functions.js" type="text/javascript"></script><script>GujAd.getClient().setZone(zoneMapping('meine_daten'));</script>
    27. <link media="print" type="text/css" href="http://i.arcor.de/styles/r/print.css" rel="stylesheet">
    28. <link type="text/css" href="http://i.arcor.de/styles/r/styles.css" rel="stylesheet"><meta name="bclevel1" content="Dienste"><meta name="bcurl1" content="/j1/onlinedienste/onlinedienste.jsp"><meta name="bclevel2" content="Meine Daten"><meta name="bcurl2" content="/register/admin_uebersicht.jsp"><meta name="bclevel3" content="Name/Anschrift ändern"><meta name="bcurl3" content="/register/admin_name.jsp"></head>
    29. <body><div style="position: absolute; top: -10em;"><!-- SZM VERSION="1.5" -->
    30. <script type="text/javascript">
    31. <!--
    32. var IVW="http://arcor.ivwbox.de/cgi-bin/ivw/CP/1900;";
    33. document.write("<img id="ivwPixel" src=""+IVW+"?r="+escape(document.referrer)+"&d="+(Math.random()*100000)+"" width="1" height="1" alt="" />");
    34. function reloadIvwPixelImage()
    35. {
    36. document.getElementById("ivwPixel").src = IVW+"?r="+escape(document.referrer)+"&d="+(Math.random()*100000);
    37. }
    38. //-->
    39. </script>
    40. <noscript>
    41. <img src="http://arcor.ivwbox.de/cgi-bin/ivw/CP/1900;" width="1" height="1" alt="" />
    42. </noscript>
    43. <!-- /SZM -->
    44. </div>
    45. <div id="adWrapper">
    46. <div id="superbanner_1" class="gujAd superbanner">
    47. <script type="text/javascript">GujAd.push('superbanner_1');</script>
    48. </div>
    49. </div>
    50. <div id="pWrapper" class="AIP">
    51. <div id="pHeader">
    52. <div id="pHead">
    53. <div id="arcorLogo">
    54. <a href="/index.html"><img alt="Arcor" height="34" width="130" src="http://i.arcor.de/i/r/skin/logo.gif"></a>
    55. </div>
    56. <div id="pMetaNav">
    57. <ul>
    58. <li class="first">
    59. <a href="/hilfe/rss" target="_blank" onclick="openPopuphilfe(trackLink(this.href,'arcor-click-hilfe-rss')); return false;">RSS</a>
    60. </li>
    61. <li>
    62. <a href="/content/newsletter_anmeldung/">Newsletter</a>
    63. </li>
    64. <li>
    65. <a href="/hilfe/neu/index.php" target="_blank" onclick="openPopuphilfe(trackLink(this.href,'arcor-click-hilfe')); return false;">Hilfe</a>
    66. </li>
    67. <li>
    68. <a href="/kontakt/index.jsp?bereich=%2Fregister%2Fadmin_name.jsp">Kontakt</a>
    69. </li>
    70. </ul>
    71. </div><div id="pSearch">
    72. <form method="get" action="/content/arcor_search.jsp" name="websuche"><div id="webview" name="webview" style="margin-left:25px;display: block ;">
    73. <input id="websearch" type="text" name="Keywords" class="googlesearch" value="" onfocus="this.className='googlesearch_blank'" />&nbsp;<a
    74. href="javascript:document.websuche.submit()" class="button">Suchen</a><br/></div><div id="phoneview" name="phoneview" style="display: none;">
    75. <input id="telesearchname" type="text" name="telesearchname" class="telesearch_blank" value="" onfocus="this.className='telesearch_blank'" />
    76. <input id="telesearchort" type="text" name="telesearchort" class="telesearch_blank" value="" onfocus="this.className='telesearch_blank'"
    77. />&nbsp;<a href="javascript:document.websuche.submit()" class="button">Suchen</a><br/></div><span class="txt9">
    78. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" id="web" name="scategorytype" value="web" class="radio" onclick="if(document.getElementById('websearch').value==''){document.getElementById('websearch').className='googlesearch'};
    79. changeProp('webview','','style.display','block','DIV');
    80. changeProp('phoneview','','style.display','none','DIV')" checked="checked" /> <label for="web">Web&nbsp;&nbsp;&nbsp;&nbsp;</label>
    81. <input type="radio" id="portal" name="scategorytype" value="portal" class="radio"
    82. onclick="document.getElementById('websearch').className='googlesearch_blank';
    83. changeProp('phoneview','','style.display','none','DIV');
    84. changeProp('webview','','style.display','block','DIV')" /> <label for="portal">Portal&nbsp;&nbsp;&nbsp;&nbsp;</label>
    85. <input type="radio" id="produkt" name="scategorytype" value="produkte" class="radio"
    86. onclick="document.getElementById('websearch').className='googlesearch_blank';
    87. changeProp('phoneview','','style.display','none','DIV');
    88. changeProp('webview','','style.display','block','DIV')" /> <label for="produkt">Produkte&nbsp;&nbsp;&nbsp;&nbsp;</label>
    89. <input type="radio" id="wiki" name="scategorytype" value="wiki" class="radio"
    90. onclick="document.getElementById('websearch').className='googlesearch_blank';
    91. changeProp('phoneview','','style.display','none','DIV');
    92. changeProp('webview','','style.display','block','DIV')" /> <label for="wiki">Wikipedia&nbsp;&nbsp;&nbsp;&nbsp;</label>
    93. <input type="radio" id="telefonbuch" name="scategorytype" value="telefonbuch" class="radio"
    94. onclick="if(document.getElementById('telesearchname').value==''){
    95. document.getElementById('telesearchname').className='telesearch_name'};
    96. if(document.getElementById('telesearchort').value==''){document.getElementById('telesearchort').className='telesearch_ort'};
    97. document.getElementById('webview').display='none';
    98. document.getElementById('phoneview').display='block';
    99. changeProp('phoneview','','style.display','block','DIV');
    100. changeProp('webview','','style.display','none','DIV')" /> <label for="telefonbuch">Telefonbuch&nbsp;&nbsp;</label></span><input src="http://i.arcor.de/ic/b.gif" width="0" height="0" alt="" type="image">
    101. </form>
    102. </div><div id="pTopNav">
    103. <ul><li style="width:76px;" class="blue first">
    104. <a onfocus="this.blur();" href="/content/">Themen</a>
    105. </li><li style="width:110px;" class="blue">
    106. <a onfocus="this.blur();" href="/ums/ums_index.jsp">E-Mail &amp; SMS</a>
    107. </li><li style="width:74px;" class="blue-selected">
    108. <a onfocus="this.blur();" href="/j1/onlinedienste/onlinedienste.jsp">Dienste</a>
    109. </li><li style="width:147px;" class="red">
    110. <a onmouseout="SwapClass(document.getElementById('shopDropNav'),'hide')" onmouseover="SwapClass(document.getElementById('shopDropNav'),'show')" onfocus="this.blur();" target="_blank" href="http://www.arcor.de/shop/">Shop</a>
    111. </li><li style="width:138px;" class="red">
    112. <a target="_blank" onfocus="this.blur();" href="http://www.vodafone.de/business.html">Gesch&auml;ftskunden</a>
    113. </li><li onmouseout="SwapClass(document.getElementById('pDropNav'),'hide')" onmouseover="SwapClass(document.getElementById('pDropNav'),'show')" style="width:121px;" class="red last">
    114. <a style="cursor:default;" onfocus="this.blur();" href="#">Kundenservice</a>
    115. </li></ul>
    116. </div>
    117. <div onmouseover="SwapClass(this,'show')" onmouseout="SwapClass(this,'hide')" class="hide" id="shopDropNav">
    118. <div class="navDropDown">
    119. <ul>
    120. <li>
    121. <a target="_blank" href="http://www.arcor.de/shop/angebot-der-woche.html">Angebot der Woche</a>
    122. </li>
    123. <li>
    124. <a target="_blank" href="http://www.arcor.de/shop/dsl.html">DSL</a>
    125. </li>
    126. <li>
    127. <a target="_blank" href="http://www.arcor.de/shop/lte.html">LTE</a>
    128. </li>
    129. <li>
    130. <a target="_blank" href="http://www.arcor.de/shop/handy-smartphone.html">Handy &amp; Smartphone</a>
    131. </li>
    132. <li>
    133. <a target="_blank" href="http://www.arcor.de/shop/surfstick-tablet.html">Surfstick &amp; Tablet</a>
    134. </li>
    135. </ul>
    136. </div>
    137. </div>
    138. <div onmouseover="SwapClass(this,'show')" onmouseout="SwapClass(this,'hide')" class="hide" id="pDropNav">
    139. <div class="navDropDown">
    140. <ul>
    141. <li>
    142. <a target="_blank" href="/home/intern_track.php?path=%2Fpksc%2Findex_pub.jsp&amp;name=topnavi-ksc-pk&amp;kat=acc-admin-name">Privatkunden</a>
    143. </li>
    144. <li>
    145. <a target="_blank" href="/home/intern_track.php?path=%2Fgksc%2Fhome.jsp&amp;name=topnavi-ksc-gk&amp;kat=acc-admin-name">Gesch&auml;ftskunden</a>
    146. </li>
    147. </ul>
    148. </div>
    149. </div>
    150. <div id="logInOut"><a href="/login/logout.jsp?s=pia">Logout</a></div>
    151. </div> <div id="pSubNav">
    152. <ul>
    153. <li class="first"><a href="/j1/mobile/mobile_info.jsp">Arcor Mobil</a></li>
    154. <li><a href="/atcall/telefon.jsp">Sprache & Internet</a></li>
    155. <li><a href="/office/welcome.jsp">Organizer</a></li>
    156. <li><a href="/palb/start.jsp">Fotoalbum</a></li>
    157. <li><a href="/vportal/vportalhome.jsp">Videoalbum</a></li>
    158. <li><a href="/mps/hp/hpindex.jsp">Homepage-Center</a></li>
    159. <li><a href="/tp/foren/forenchat_index.php">Foren & Chat</a></li>
    160. <li class="selected"><a href="/register/admin_uebersicht.jsp">Meine Daten</a></li>
    161. <li><a href="/content/arcor_search.jsp">Suche</a></li>
    162. </ul>
    163. </div>
    164. <div id="pShaddow">
    165. <p>&nbsp;</p>
    166. </div>
    167. </div><div id="pBreadcrumb"><ul><li><a href="/index.html">Startseite</a></li><li><a href="/j1/onlinedienste/onlinedienste.jsp">Dienste</a></li><li><a href="/register/admin_uebersicht.jsp">Meine Daten</a></li><li>Name/Anschrift ändern</li></ul></div><div id="pBody"><script language="JavaScript">
    168. <!--
    169. document.onkeydown = checkReturn;
    170. function checkReturn(Ereignis)
    171. {
    172. if (!Ereignis)
    173. Ereignis = window.event;
    174. if (Ereignis.which)
    175. Tastencode = Ereignis.which;
    176. else if (Ereignis.keyCode)
    177. Tastencode = Ereignis.keyCode;
    178. if(Tastencode == 13)
    179. return false;
    180. else
    181. return true;
    182. }
    183. //-->
    184. </script>
    185. <div class="grid_2col">
    186. <div class="contentArea">
    187. <h4>Meine Daten</h4>
    188. <h1>Name / Anschrift &auml;ndern</h1>
    189. <p>Sollen die Antworten auf Ihre SMS direkt auf Ihr Handy kommen,
    190. dann tragen Sie bitte Ihre Handynummer unter <b>„Ruf-Nr. (SMS)“</b> ein und
    191. klicken Sie dann auf <b>„SMS mit Bestätigungscode senden“</b>.</p>
    192. </div>
    193. <div class="teaserArea">
    194. <div id="pContentNav">
    195. <div class="boxTop">
    196. <p>&nbsp;</p>
    197. </div>
    198. <div class="boxContent"><h1>Meine Daten</h1>
    199. <ul><li><a href="/register/admin_password.jsp">Passwortverwaltung</a></li>
    200. <li><a href="/ums/ums_option_alias_verwaltung.jsp">E-Mail-Adressen verwalten</a></li>
    201. <li><a href="/register/kgb_info.jsp">Kleingeldbörse</a></li>
    202. <li class="selected"><a href="/register/admin_name.jsp">Anschrift ändern</a></li>
    203. <li><a href="javascript:openPopupKgb('/mps/kgb_1_1_5.jsp');">Gutscheine</a></li>
    204. <li><a href="javascript:popWin('/ums/ums_pop_status.jsp','1',590,500);">Mein Leistungsumfang</a></li>
    205. <li><a href="/rd/doc.onlinedienst" target="_blank">AGB</a></li>
    206. <li><a href="javascript:popWin('/inside_arcor/piaplus2_pop.php','1',800,500);">Mail-Produkte</a></li>
    207. <li><a href="/register/admin_kuendigen.jsp">Arcor kündigen</a></li>
    208. <li><a href="/netpass/home.jsp">Netpass</a></li>
    209. </ul></div>
    210. <div class="boxBottom">
    211. <p>&nbsp;</p>
    212. </div>
    213. </div>
    214. </div>
    215. </div>
    216. <div class="grid_1col">
    217. <div class="contentArea">
    218. <form name="pdata" id="SSO_REGISTER_ADMIN_NAME_PDATA" method="post" action="http://www.arcor.de/register/admin_name.jsp">
    219. <table class="bgGrey2" width="100%" border="0" cellspacing="8" cellpadding="0">
    220. <tr>
    221. <td valign="top" width="27%"><b>Firmenname</b></td>
    222. <td><input type="text" name="company" id="SSO_REGISTER_ADMIN_NAME_COMPANY" maxlength="60" value="" size="32" style="width:300px;"></td>
    223. </tr>
    224. <tr>
    225. <td valign="top"><b>Anrede *</b></td>
    226. <td nowrap="nowrap"><input type="radio" name="salutation" id="SSO_REGISTER_ADMIN_NAME_SALUTATION" value="Frau" class="check" >&nbsp;Frau&nbsp;&nbsp;&nbsp;&nbsp;<input type="radio" name="salutation" id="SSO_REGISTER_ADMIN_NAME_SALUTATION" value="Herr" class="check" checked>&nbsp;Herr</td>
    227. </tr>
    228. <tr>
    229. <td valign="top"><b>Vorname *</b></td>
    230. <td><input type="text" name="firstName" id="SSO_REGISTER_ADMIN_NAME_FIRSTNAME" maxlength="40" value="MeinVorname" size="32" style="width:300px;"></td>
    231. </tr>
    232. <tr>
    233. <td valign="top"><b>Name *</b></td>
    234. <td><input type="text" name="secondName" id="SSO_REGISTER_ADMIN_NAME_SECONDNAME" maxlength="40" value="MeinNachname" size="32" style="width:300px;"></td>
    235. </tr>
    236. <tr>
    237. <td valign="top"><b>Titel</b></td>
    238. <td><input type="text" name="title" id="SSO_REGISTER_ADMIN_NAME_TITLE" maxlength="30" value="" size="32" style="width:300px;"></td>
    239. </tr>
    240. <tr>
    241. <td valign="top"><b>Geburtsdatum *</b></td>
    242. <td><input type="text" name="birthDate" id="SSO_REGISTER_ADMIN_NAME_BIRTHDATE" maxlength="10" value="01.01.1990" size="32" style="width:300px;"></td>
    243. </tr>
    244. <tr>
    245. <td valign="top"><b>Ruf-Nr. (SMS)</b></td>
    246. <td><input type="text" name="handyAreaCode" id="SSO_REGISTER_ADMIN_NAME_HANDYAREACODE" maxlength="5" value="" size="5" style="width:45px;">&nbsp;<input type="text" name="handyNr" id="SSO_REGISTER_ADMIN_NAME_HANDYNR" maxlength="20" value="" size="25" style="width:251px;">&nbsp;
    247. </td>
    248. </tr>
    249. <tr>
    250. <td valign="top"><b>Ruf-Nr. Festnetz</b></td>
    251. <td nowrap="nowrap"><input type="text" name="phoneAreaCode" id="SSO_REGISTER_ADMIN_NAME_PHONEAREACODE" maxlength="6" value="" size="6" style="width:45px;">&nbsp;<input type="text" name="phonenumber" id="SSO_REGISTER_ADMIN_NAME_PHONENUMBER" maxlength="15" value="" size="25" style="width:251px;"></td>
    252. </tr>
    253. <tr>
    254. <td>
    255. <input type="text" name="externalMail" id="SSO_REGISTER_ADMIN_NAME_EXTERNALMAIL" maxlength="60" size="32" style="width:300px;" value="">
    256. </td>
    257. </tr>
    258. <tr>
    259. <td valign="top"><b>Stra&szlig;e/Hausnummer *</b></td>
    260. <td nowrap="nowrap"><input type="text" name="street" id="SSO_REGISTER_ADMIN_NAME_STREET" maxlength="60" value="MeineStraße" size="25" style="width:251px;">&nbsp;<input type="text" name="houseNumber" id="SSO_REGISTER_ADMIN_NAME_HOUSENUMBER" maxlength="12" value="123" size="4" style="width:45px;"></td>
    261. </tr>
    262. <tr>
    263. <td valign="top"><b>PLZ *</b></td>
    264. <td><input type="text" name="zip" id="SSO_REGISTER_ADMIN_NAME_ZIP" maxlength="5" value="123456" size="32" style="width:300px;"></td>
    265. </tr>
    266. <tr>
    267. <td valign="top"><b>Ort *</b></td>
    268. <td><input type="text" name="city" id="SSO_REGISTER_ADMIN_NAME_CITY" maxlength="50" value="MeineStadt" size="32" style="width:300px;"></td>
    269. </tr>
    270. <tr>
    271. <td>&nbsp;</td>
    272. <td><input type="submit" class="button" name="speichern" id="SSO_REGISTER_ADMIN_NAME_SPEICHERN" value="Speichern">&nbsp;<input type="submit" class="button" name="zuruecksetzen" id="SSO_REGISTER_ADMIN_NAME_ZURUECKSETZEN" value="Zur&uuml;cksetzen">&nbsp;<input type="submit" class="button" name="abbrechen" id="SSO_REGISTER_ADMIN_NAME_ABBRECHEN" value="Abbrechen"></td>
    273. </tr>
    274. </table>
    275. <input type="hidden" name="firstVisitOfPage" value="foo"><input name="reqMail" id="SSO_REGISTER_ADMIN_NAME_REQMAIL" type="hidden" value="false">
    276. </form>
    277. <div class="footNote mT10">* = Pflichtfeld</div>
    278. </div>
    279. </div>
    280. </div>
    281. <div class="spacer">
    282. <img alt="" height="1" width="1" src="/pixel/cgi-bin/acc-admin-name?t=1382943365&amp;ref=%2Fregister%2Fadmin_uebersicht.jsp"></div>
    283. <div id="pFooter">
    284. <ul>
    285. <li class="first">
    286. <a href="/sitemap/index.html">Sitemap</a>
    287. </li>
    288. <li>
    289. <a href="/rd/doc.onlinedienst">AGB</a>
    290. </li>
    291. <li>
    292. <a href="/imp/impressum.php">Impressum</a>
    293. </li>
    294. <li>
    295. <a href="/rd/doc.datenschutz">Datenschutz</a>
    296. </li>
    297. <li>
    298. <a href="/portal/jugendschutz">Jugendschutz</a>
    299. </li>
    300. <li>
    301. <a target="_blank" href="/home/externsig.php?url=http%3A%2F%2Fwww.vodafone-affiliate.de&sig=08963cbb616fd493271887fe6f0192fc&name=arcor-click-partner&kat=navbottom">Partnerprogramm</a>
    302. </li>
    303. <li>
    304. <a target="_blank" href="/home/externsig.php?url=http%3A%2F%2Fwww.vodafone.de%2Funternehmen%2Findex.html&sig=2ba7ccfa8eb13209ba7af83632ef1e00&name=arcor-click-unternehmen&kat=navbottom">Unternehmen</a>
    305. </li>
    306. <li>
    307. <a target="_blank" href="/home/externsig.php?url=http%3A%2F%2Fwww.vodafone.de%2Funternehmen%2Fpresse.html&sig=b61aeb9962b7d96086c635930a0b281e&name=arcor-click-presse&kat=navbottom">Presse</a>
    308. </li>
    309. <li>
    310. <a target="_blank" href="/home/externsig.php?url=http%3A%2F%2Fwww.vodafone.de%2Funternehmen%2Fjobs.html&sig=2d245938d9768fc0ebfb95a416cf092a&name=arcor-click-jobs&kat=navbottom">Jobs</a>
    311. </li>
    312. </ul>
    313. </div><!-- OMNITURE PART 1: HEADER - BEGIN -->
    314. <!-- SiteCatalyst code version: H.20.3.
    315. Copyright 1997-2009 Omniture, Inc. More info available at
    316. http://www.omniture.com -->
    317. <script language="JavaScript" type="text/javascript"><!--
    318. var s_account="vodafonegroupdearcorprod";//--></script><script language="JavaScript" type="text/javascript" src="http://www.arcor.de/scripts/s_code.js"></script>
    319. <!-- OMNITURE PART 1: HEADER - END --><script language="JavaScript" type="text/javascript"><!--
    320. if(typeof(setupOmniturePageName)=="function"){setupOmniturePageName(s);}
    321. s.server="www.arcor.de";
    322. s.prop5="Meine Daten";
    323. s.prop6="DE";
    324. s.prop7="logged in";
    325. s.eVar15="dab623159b759f34d621d91621824e7b";
    326. //--></script><!-- OMNITURE PART 2 - START -->
    327. <script language="JavaScript" type="text/javascript"><!--
    328. var s_code=s.t();if(s_code)document.write(s_code)//--></script><script language="JavaScript" type="text/javascript"><!--
    329. if(navigator.appVersion.indexOf('MSIE')>=0)document.write(unescape('%3C')+'\!-'+'-')//--></script><noscript><img src="http://vodafonegroup.122.2o7.net/b/ss/vodafonegroupdearcorprod/1/H.20.3--NS/0" height="1" width="1" border="0" alt="" /></noscript>
    330. <!-- End SiteCatalyst code version: H.20.3. -->
    331. <!-- OMNITURE PART 2 - END --><div id="sky">
    332. <div id="skyscraper_1" class="gujAd skyscraper">
    333. <script type="text/javascript">GujAd.push('skyscraper_1');</script>
    334. </div>
    335. </div>
    336. </div><!--SZMFRABO VERSION="1.1" -->
    337. <script type="text/javascript">
    338. <!--
    339. var szmvars="arcor//CP//1900";
    340. if(typeof IvwFraboInclude=='function') {
    341. document.write(IvwFraboInclude());
    342. }
    343. // -->
    344. </script>
    345. <!-- /SZMFRABO -->
    346. <div class="hidden">
    347. <div id="temp_superbanner_1">
    348. <script type="text/javascript">GujAd.delayedInlineLoad('superbanner_1');</script>
    349. </div>
    350. <div id="temp_skyscraper_1">
    351. <script type="text/javascript">GujAd.delayedInlineLoad('skyscraper_1');</script>
    352. </div>
    353. <div id="temp_rectangle_1">
    354. <script type="text/javascript">GujAd.delayedInlineLoad('rectangle_1');</script>
    355. </div>
    356. <div id="temp_maxiad_1">
    357. <script type="text/javascript">GujAd.delayedInlineLoad('maxiad_1');</script>
    358. </div>
    359. <div id="temp_performance_21">
    360. <script type="text/javascript">GujAd.delayedInlineLoad('performance_21');</script>
    361. </div>
    362. <script type="text/javascript">GujAd.finalizeInlineLoading();</script>
    363. </div>
    364. </body>
    365. </html>




    Könnte ich das dann wie folgt lösen?

    VB.NET-Quellcode

    1. For Each n In xdoc.DocumentNode.SelectNodes("//input[@type='radio'][@id='SSO_REGISTER_ADMIN_NAME_SALUTATION'[@value]")
    2. MsgBox(n.Attributes("value").Value)
    3. Next


    EDIT: Geht nicht. Es tritt der Fehler auf, dass der Ausdruck einen Knotenpunkt resultieren muss.

    Ich habe noch einmal getestet. Wenn ich mein "html" in eine Text-Datei speichere, dann ist das genau mein gewünschter Quelltext. Jedoch weis ich nicht wie das mit dem heruntergeladenen Quelltext aus der dieser Funktion aussieht, denn ich habe die Vermutung dass dies nicht der Quelltext der gewünschten Seite sonder der von der Login-Seite ist. Dass dann aufgrund des Logins mit einem WebRequest die "Funktion" nicht eingeloggt ist und dann auf die Login-Page zurückverwiesen wird und von dieser den Quelltext herunter läd? Weil darauf sind nämlich auch die anderen Radio-Buttons zu sehen!
    Ist es also möglich html als Quelle zu nehmen? ?(


    MfG MrNicolas3003

    PS: Die Nutzerdaten waren nicht gültig ;)

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „MrNicolas3003“ ()

    MrNicolas3003 schrieb:

    EDIT: Geht nicht.

    Doch geht. Allerdings habe ich die eine fehlende eckige Klammer ergänzt ;)

    VB.NET-Quellcode

    1. Dim x As New HtmlAgilityPack.HtmlDocument
    2. x.Load("xml.txt")
    3. For Each n In x.DocumentNode.SelectNodes("//input[@type='radio'][@id='SSO_REGISTER_ADMIN_NAME_SALUTATION'][@value]")
    4. Console.WriteLine(n.GetAttributeValue("value", "EMPTY"))
    5. Next


    Gibt einmal Frau und einmal Herr aus und sonst nix.

    EDIT: Pack deinen HTML Code mal in einen "Expander" ... ist schon sehr lang (besser sowas als Datei an den Post anzuhängen)