c# - 编辑网页值并通过单击按钮提交?

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

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>

降序

以上是我想要访问、修改值,然后提交数据的 HTML 代码。

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

我在 HTML 中总共写了 4 条评论(总共需要 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"));

最佳答案

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

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

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

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

但就像 pasty 所说的,我希望你能详细说明一下,如果这篇文章中有什么不清楚的地方,请随时发表评论并询问。

关于c# - 编辑网页值并通过单击按钮提交?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29133345/

相关文章:

javascript - 使用javascript删除按钮上的图像并点击?

jquery - 当我使用这个右面板动画时,我得到了一个水平滚动条

html - 如何仅使用 CSS 使多组 div 具有相同的宽度?

c# - 最有用的属性

C# 使用安全/权限设置将文件夹复制到另一个目的地

c# - 在 Facebook 应用程序中获取 friend 的电子邮件

c# - Resourcemanager 返回相同的资源,尽管指定了 CultureInfo

c# - 如何从服务 C# 捕获控制台输出?

c# - 在 Rider 中重新编译 ASP.NET Core 应用程序而无需重复重新运行它

c# - 如何使用 LINQ 从表中给定值找到范围之间的最高数字