Modifier les valeurs de la page Web et soumettre en cliquant sur le bouton?

.net c# html html-agility-pack

Question

HTML

    <head></head>
    <body class=" products show us">

    <header id="header"></header>
    <div id="wrap">
        ::before
        <div id="container" style="opacity: 1;">
            <div class="sidebar"></div>
            <article itemtype="http://schema.org/Product" itemscope="itemscope">
                ::before
                <figure>
                    <img id="img-main" src="test.jpg" itemprop="image" alt="test"></img>

        <div id="zoom-lens"></div>
        <div id="zoom-holder" style="background: url("test.jpg") no-repeat scroll 0px 0px transparent;" data-background-image="test.jpg"></div>
    </figure>
    ::after

</article>
<div id="details" data-style-limited-with-count="0" data-style-limited="false">

    <h1 itemprop="name"></h1>
    <p class="style" itemprop="model">

        White

    </p>
    <p class="description" itemprop="description"></p>
    <ul class="styles "> // STEP 1: GENERATE LIST OF STYLES PER data-style-name and select the one that matches via adding "selected" to a class""!
        ::before
        <li>
            <a class="selected" data-style-name="White" data-style-id="10570" data-sold-out="false" data-images="{"detail_url":"..."..."}" href="..." data-no-tubolink="data-no-tubolink"></a>

</li>
<li>

    <a class="" data-style-name="Black" data-style-id="10571" data-sold-out="true" data-images="{"detail_url":"..."..."}" href="..." data-no-tubolink="data-no-tubolink"></a>

    </li>
    ::after

</ul>
<p class="price" itemtype="http://schema.org/Offer" itemscope="itemscope" itemprop="offers"></p>

<div id="cart-controls">

    <div id="cart-controls"> // STEP 2 => OPEN THIS!
        <form id="cart-addf" class="add" method="post" data-remote="true" action="/shop/168934/add" accept-charset="UTF-8">

    <div style="margin:0;padding:0;display:inline"></div> // STEP 3: GENERATE LIST OF OPTIONS (UNKNOWN AMOUNT OF FIELDSETS) AND SELECT OPTION(S)!
    <fieldset>
        <select id="size" name="size">
            <option value="25134"></option>
            <option value="25135"></option>
            <option value="25136"></option>
        </select>
    </fieldset>
    <fieldset>
        <select id="qty" name="qty">
            <option value="1"></option>
            <option value="2"></option>
            <option value="3"></option>
            <option value="4"></option>
            <option value="5"></option>
            <option value="6"></option>
            <option value="7"></option>
            <option value="8"></option>
        </select>
        <a class="next" href="..."></a>
    </fieldset>
    <fieldset id="add-remove-buttons">
        <input class="button" type="submit" value="add to cart" name="commit"></input> // STEP 4: CLICK BUTTON!

                                    <a class="button continue" href="/shop"></a>
                                </fieldset>
                            </form>
                        </div>
                    </div>
                    <script id="cart-controls-add" type="text/x-nano-tmpl"></script>
                    <script id="cart-controls-remove" type="text/x-nano-tmpl"></script>
                    <script id="cart-controls-sold-out" type="text/x-nano-tmpl"></script>
                    <script id="cart-controls-limited" type="text/x-nano-tmpl"></script>
                </div>
            </div>
            ::after
        </div>
        <footer id="nav" style="opacity: 1;"></footer>
        <script type="text/javascript"></script>
        <script type="text/javascript"></script>
        <script type="text/javascript"></script>
    </body>

</html>

DESC

Ci-dessus, le code HTML auquel j'aimerais accéder, modifier les valeurs, puis soumettre les données.

J'utilise c # net 4.0 et HTMLAGILITYPACK pour y parvenir.

J'ai écrit dans le code HTML ci-dessus 4 commentaires au total (4 éléments nécessaires).

Je me demandais si l'objectif d'édition de valeurs était possible avec HTMLAGILITYPACK et s'il était possible de cliquer sur un bouton de la page Web pour soumettre les valeurs qui seraient éditées.

J'ai trouvé quelques références à ce sujet mais je ne sais pas comment les utiliser correctement.

1: Comment cliquer sur un élément de lien par programmation avec HTMLElement?

2: Cliquer automatiquement sur le bouton en utilisant HtmlAgilityPack

CODE PSEUDO

    <head></head>
    <body class=" products show us">

    <header id="header"></header>
    <div id="wrap">
        ::before
        <div id="container" style="opacity: 1;">
            <div class="sidebar"></div>
            <article itemtype="http://schema.org/Product" itemscope="itemscope">
                ::before
                <figure>
                    <img id="img-main" src="test.jpg" itemprop="image" alt="test"></img>

        <div id="zoom-lens"></div>
        <div id="zoom-holder" style="background: url("test.jpg") no-repeat scroll 0px 0px transparent;" data-background-image="test.jpg"></div>
    </figure>
    ::after

</article>
<div id="details" data-style-limited-with-count="0" data-style-limited="false">

    <h1 itemprop="name"></h1>
    <p class="style" itemprop="model">

        White

    </p>
    <p class="description" itemprop="description"></p>
    <ul class="styles "> // STEP 1: GENERATE LIST OF STYLES PER data-style-name and select the one that matches via adding "selected" to a class""!
        ::before
        <li>
            <a class="selected" data-style-name="White" data-style-id="10570" data-sold-out="false" data-images="{"detail_url":"..."..."}" href="..." data-no-tubolink="data-no-tubolink"></a>

</li>
<li>

    <a class="" data-style-name="Black" data-style-id="10571" data-sold-out="true" data-images="{"detail_url":"..."..."}" href="..." data-no-tubolink="data-no-tubolink"></a>

    </li>
    ::after

</ul>
<p class="price" itemtype="http://schema.org/Offer" itemscope="itemscope" itemprop="offers"></p>

<div id="cart-controls">

    <div id="cart-controls"> // STEP 2 => OPEN THIS!
        <form id="cart-addf" class="add" method="post" data-remote="true" action="/shop/168934/add" accept-charset="UTF-8">

    <div style="margin:0;padding:0;display:inline"></div> // STEP 3: GENERATE LIST OF OPTIONS (UNKNOWN AMOUNT OF FIELDSETS) AND SELECT OPTION(S)!
    <fieldset>
        <select id="size" name="size">
            <option value="25134"></option>
            <option value="25135"></option>
            <option value="25136"></option>
        </select>
    </fieldset>
    <fieldset>
        <select id="qty" name="qty">
            <option value="1"></option>
            <option value="2"></option>
            <option value="3"></option>
            <option value="4"></option>
            <option value="5"></option>
            <option value="6"></option>
            <option value="7"></option>
            <option value="8"></option>
        </select>
        <a class="next" href="..."></a>
    </fieldset>
    <fieldset id="add-remove-buttons">
        <input class="button" type="submit" value="add to cart" name="commit"></input> // STEP 4: CLICK BUTTON!

                                    <a class="button continue" href="/shop"></a>
                                </fieldset>
                            </form>
                        </div>
                    </div>
                    <script id="cart-controls-add" type="text/x-nano-tmpl"></script>
                    <script id="cart-controls-remove" type="text/x-nano-tmpl"></script>
                    <script id="cart-controls-sold-out" type="text/x-nano-tmpl"></script>
                    <script id="cart-controls-limited" type="text/x-nano-tmpl"></script>
                </div>
            </div>
            ::after
        </div>
        <footer id="nav" style="opacity: 1;"></footer>
        <script type="text/javascript"></script>
        <script type="text/javascript"></script>
        <script type="text/javascript"></script>
    </body>

</html>

Réponse populaire

Je ne sais pas trop ce que vous voulez accomplir, mais je pense que cela pourrait être sur la bonne voie:

Consultez cette option pour modifier les attributs dans JQuery http://api.jquery.com/attr/

Voir ceci pour changer / ajouter des choses qui vont arriver quand vous cliquez quelque chose https://api.jquery.com/click/

Inutile de dire que je ne pense pas que vous deviez faire en sorte que le bouton "clique sur lui-même", à quoi sert-il alors? : P Mais vous pouvez faire en sorte que si vous cliquez dessus, il fait la première chose à faire, puis la seconde ensuite, dans la fonction de clic JQuery que vous ferez probablement.

Mais comme dit pâteux, j'aimerais que vous élaboriez un peu plus, n'hésitez pas à commenter et demander si quelque chose n'est pas clair dans ce post.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi