【问题标题】:Edit webpage values and submit by button click?编辑网页值并通过按钮单击提交?
【发布时间】:2015-05-21 21:41:07
【问题描述】:

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

上面是我想要访问、修改值并提交数据的 HTML 代码。

我正在使用 c# net 4.0 和 HTMLAGILITYPACK 来实现这一点。

我在 HTML 中写了 4 个以上的 cmets(总共需要 4 个东西)。

我想知道 HTMLAGILITYPACK 是否可以实现编辑值的目标,是否可以单击网页上的按钮来提交将要编辑的值。

我找到了一些关于这个问题的参考资料,但不知道如何正确使用。

1:How to click a link element programmatially with HTMLElement?

2:Clicking button automatically using HtmlAgilityPack

伪代码

 HtmlAgilityPack.HtmlDocument doc = null;
 doc = new HtmlAgilityPack.HtmlDocument();
 doc.LoadHtml(new WebClient().DownloadString("website above that contains that HTML"));

【问题讨论】:

  • 有点不清楚你到底想达到什么目的。你能在你的问题中详细说明一下吗?所需输出的示例也会有所帮助。您是否要下载一些网站,对其进行更改,然后在您进行更改后将其发布到服务器?如果这是你想要的,那是不可能的。 SO帖子对此很清楚。

标签: c# html .net html-agility-pack


【解决方案1】:

不太确定你想要完成什么,但我认为这可能是正确的:

查看此内容以更改 JQuery http://api.jquery.com/attr/ 中的任何属性

查看此内容以更改/添加单击某物时会发生的事情https://api.jquery.com/click/

不用说,我认为你不需要让按钮“点击自己”,那有什么意义呢? :P 但是你可以让它,如果你点击它,它会首先做它应该做的第一件事,然后是第二件事,在你大概会做的 JQuery 点击函数中。

但是就像pasty说的那样,我希望你能详细说明一下,请随时发表评论并询问这篇文章中是否有任何不清楚的地方。

【讨论】:

    猜你喜欢
    • 2015-06-25
    • 2021-01-03
    • 2017-10-16
    • 2023-03-26
    • 2013-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    相关资源
    最近更新 更多