C#表单Webbrowser单击div

时间:2012-02-28 09:52:42

标签: c# jquery ajax forms browser

我的webbrowser连接到一个页面,然后我希望它点击一个div。

<div class="acceptButton state1">
      <a class="buttonGreen">
           <span>${$item.getAddressButtonText( $data.messageType )}</span>
      </a>
</div>

该页面使用jquery或其他东西来完成所有操作。 :(和大多数帮助我发现需要一个id,这些只有一个类

  <script id='messageListItem' type='text/x-jquery-template'>
<li data-messagetype="${messageType}" class="${messageType}" data-messageid="${messageId}">
    <div class="messageItem">
        <div class="closeButton">
            <a><span>X</span></a>
        </div>

        <img class="friendImage" src="${senderImgUrl}" alt="${senderName}" />

        <div class="messageBubble">
            <div class="messageBubbleTop"></div>
            <div class="messageBubbleBody">
                <div class="messageBubbleContent">
                    {{if $data.messageImgUrl != null}}
                    <img class="giftImage messageImage" alt="${messageImgAltText}" src="${messageImgUrl}">
                    {{/if}}
                    <h5 class="friendName">${senderName}:</h5>
                    <p class="requestMessage">${message}</p>
                    <span class="requestDate">${timestampStr}</span>
                    <div class="clearFloat"></div>
                </div>
            </div>
            <div class="messageBubbleBottom"></div>
        </div>

        <div class="acceptButton state1">
            <a class="buttonGreen"><span>${$item.getAddressButtonText( $data.messageType )}</span></a>
        </div>

        <div class="clearFloat"></div>
    </div>
</li>

2 个答案:

答案 0 :(得分:0)

要单击div,您可以使用Navigate()在WebBrowser的DocumentCompleted事件处理程序中运行JavaScript代码:

webBrowser1.Navigate(“javascript:/ * your javascript code * / void(0);”);

所以如果你有一个div:

<div class="myDivClass">
    ...
</div>

您可以使用以下方式触发点击:

webBrowser1.Navigate("javascript: document.getElementsByClassName('myDivClass')[0].click();void(0);"); //assuming it's first and/or only div with that class

答案 1 :(得分:0)

据我记忆,无法点击DIV。在这种情况下,如果您尝试,DIV中的事件将不会触发。比方说,如果DIVonclick事件,则不会触发。

因此,要使onclick中的DIV事件触发,您必须执行的操作是点击DIV中的任何内容(任何其他元素) 。假设DIV有一个IMG元素/标记:对其执行.click,将触发DIV的{​​{1}}事件。这有意义吗?因此,任何onclick的{​​{1}}触发只能通过DIV事件冒泡来实现 - 使用上述方法。

我只是告诉你这个,以防我们希望运行onclick事件直接附加到onclick。如果您以后添加它或稍后再遇到它,请务必理解这一点(即使我目前在onclick标记中没有看到DIV,这是一个重要的信息。

希望这有帮助,如果您有任何其他问题,请告诉我。

我只是通过测试找到了它并且它并没有真正写在任何地方,如果我没记错的话,同样适用于onclick标签。

相关问题