Come ottenere i dati dagli iframe

c# html-agility-pack iframe web-scraping

Domanda

 <td>
   <iframe>
     #document
       <html>
         <body>
           <table>
             <tbody>
               <tr>..<tr>
                <tr>
                   <td>
<select id="selYear" onchange="document.getElementById('selCat').selectedIndex=0;  
document.g…tedIndex=0;document.getElementById('frmFindParts').submit();"
 name="year">
 <option value=""></option>
 <option value="2014"></option>
                   </td>
                </tr>
             </tbody>
       </table><body></html></iframe></tr>

Ho bisogno dei dati all'interno del valore dell'opzione e l'output è il 2014. Sto usando c #. Ho bisogno di xpath per questo esattamente. ecco il mio codice

 <td>
   <iframe>
     #document
       <html>
         <body>
           <table>
             <tbody>
               <tr>..<tr>
                <tr>
                   <td>
<select id="selYear" onchange="document.getElementById('selCat').selectedIndex=0;  
document.g…tedIndex=0;document.getElementById('frmFindParts').submit();"
 name="year">
 <option value=""></option>
 <option value="2014"></option>
                   </td>
                </tr>
             </tbody>
       </table><body></html></iframe></tr>

Risposta popolare

Puoi provare in questo modo:

var result = htmlDoc.DocumentNode
                .SelectNodes("//iframe//table//select[@id='selYear']/option[@value!='']")
                .Select(o => o.Attributes["value"].Value);
//this will print : 2014
foreach (string s in result)
{
    Console.WriteLine(s);
}



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché