iframe에서 데이터를 가져 오는 방법

c# html-agility-pack iframe web-scraping

문제

 <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>

나는 옵션 값 안에 데이터가 필요하고 출력은 2014이다 . 나는 C #을 사용하고있다. 이걸 정확히하기 위해서는 xpath가 필요합니다. 여기에 내 코드가있다.

 <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>

인기 답변

이 방법으로 시도 할 수 있습니다.

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);
}



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.