구문 분석 작업 및 html 민첩성 팩을 사용하여 이름과 값 입력

c# forms html-agility-pack

문제

양식 동작 값을 구문 분석하고 다음 HTML 코드에서 값으로 이름을 입력하려고합니다.

            <form method="post" action="actionURL" autocomplete="" name="login_form" id="login_form" onsubmit="return hash2(this)">

            <input type="hidden" name=".tries" value="1">
            <input type="hidden" name=".src" value="ym">
            <input type="hidden" name=".md5" value="">
            <input type="hidden" name=".hash" value="">
            <input type="hidden" name=".js" value="">
            <input type="hidden" name=".last" value="">
            <input type="hidden" name="promo" value="">
            <input type="hidden" name=".intl" value="us">
            <input type="hidden" name=".lang" value="en">
            <input type="hidden" name=".bypass" value="">
            <input type="hidden" name=".partner" value="">
            <input type="hidden" name=".u" value="8013sg1858dp9">
            <input type="hidden" name=".v" value="0">
            <input type="hidden" name=".challenge" value="fUhehaaMq9c2lQjndCps_rNu1eSB">
            <input type="hidden" name=".yplus" value="">
            <input type="hidden" name=".emailCode" value="">
            <input type="hidden" name="pkg" value="">
            <input type="hidden" name="stepid" value="">
            <input type="hidden" name=".ev" value="">
            <input type="hidden" name="hasMsgr" value="0">
            <input type="hidden" name=".chkP" value="Y">
            <input type="hidden" name=".done" value="somevalue">
            <input type="hidden" name=".pd" value="ym_ver=0&c=&ivt=&sg=">
            <input type="hidden" name=".ws" id=".ws" value="0">
            <input type="hidden" name=".cp" id=".cp" value="0">     
            <input type="hidden" name="nr" value="0">

            <input type="hidden" name="pad" id="pad" value="5">
            <input type="hidden" name="aad" id="aad" value="5">

                            <div id='inputs'>

                <label for='username'>Yahoo! ID</label>
                                    <input name='login' id='username' maxlength='96' tabindex='1' value=''>

                    <p id='ex'>(e.g. test)</p>

                <label for='passwd'>Password</label>
                <input name='passwd' id='passwd' type='password' maxlength='64' tabindex='2'>


    <div id="captchaDiv"></div>
            </div>
<div id='fun'></div>

        <div id='persistency'>
            <input type='checkbox' name='.persistent' id='persistent' tabindex='4' value='y' >
            <p>
              <label for='persistent'>Keep me signed in</label>
              <br>
              <span id='uncheck'>(Uncheck if on a shared computer)</span>
            </p>
        </div>


    <div id='submit'>
        <button type='submit' id='.save' name='.save' class='secondaryCta' tabindex='5'>
          Sign In
        </button>           </div>
</form>

위의 양식에는 직접 자녀의 입력 유형과 어린이의 자녀가 포함됩니다. 여기에 샘플을 사용하는 동안 : https://stackoverflow.com/a/9890022/1007447 C #의 코드 추적에서 이름 "폼"에 대한 요소 나 하위 항목을 찾을 수 없습니다.

값으로 폼 액션과 모든 입력 유형을 얻는 방법? (때로는 사용자 이름 비밀번호 부분도 건너 뛸 필요가 있습니다)

인기 답변

이것은 Stack Overflow에서 몇 번 논의되었습니다.

대답은 당신이 말하는 것과 같은 질문입니다. 너가해야되는:

HtmlNode.ElementsFlags.Remove("form");

var doc = ... //Load the document here

var nodes = doc.DocumentNode.SelectNodes("//form//input");

열쇠가 줄에있다.

HtmlNode.ElementsFlags.Remove("form");

var doc = ... //Load the document here

var nodes = doc.DocumentNode.SelectNodes("//form//input");

추가해야하는 이유에 대한 설명은 다음 페이지에서 찾을 수 있습니다.




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