Moja przeglądarka internetowa łączy się ze stroną, a następnie chcę, aby kliknęła div.

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

Strona używa jquery lub czegoś do tego wszystkiego. :( a większość pomocy, które znalazłem, wymagała identyfikatora, który ma tylko klasę

  <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>
0
Illuminati 28 luty 2012, 13:52

2 odpowiedzi

Najlepsza odpowiedź

Aby kliknąć div, możesz uruchomić kod JavaScript w module obsługi zdarzeń DocumentCompleted przeglądarki WebBrowser za pomocą Navigate():

WebBrowser1.Navigate("javascript: /* Twój kod JavaScript */ void(0);");

Więc jeśli masz div:

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

Możesz wywołać kliknięcie za pomocą:

webBrowser1.Navigate("javascript: document.getElementsByClassName('myDivClass')[0].click();void(0);"); //assuming it's first and/or only div with that class
0
Răzvan Flavius Panda 28 luty 2012, 15:31

O ile dobrze pamiętam, nie można kliknąć DIV. W ten sposób, jeśli spróbujesz, zdarzenie w DIV nie zostanie wywołane. Powiedzmy, że jeśli DIVma zdarzenie onclick, nie zostanie uruchomione.

Tak więc, co musisz zrobić, aby wywołać zdarzenie onclick w DIV, to kliknąć cokolwiek (dowolny z pozostałych elementów) w DIV. Załóżmy, że DIV ma element/tag IMG: Wykonaj na nim .click, a zdarzenie onclick DIV zostanie wyzwolone. Czy to ma sens? Tak więc każde wyzwolenie onclick DIV jest możliwe tylko przez propagację zdarzenia onclick - przy użyciu metody opisanej powyżej.

Mówię ci to tylko na wypadek, gdybyś spodziewał się uruchomienia wydarzenia onclick, które jest dołączone bezpośrednio do DIV. Na wypadek, gdybyś dodał go w przyszłości lub natrafił na to później, ważne jest, abyś to zrozumiał (nawet jeśli w tej chwili nie widziałem onclick w Twoim tagu DIV, jest to ważna informacja).

Mam nadzieję, że to pomoże i jeśli masz dodatkowe pytania, daj mi znać.

Znalazłem to dopiero podczas testowania i tak naprawdę nie jest nigdzie napisane, to samo dotyczy tagu span, jeśli dobrze pamiętam.

0
bish 31 lipiec 2015, 18:49