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>
2 odpowiedzi
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
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 DIV
ma 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.
Podobne pytania
Nowe pytania
c#
C # (wymawiane „patrz ostro”) jest językiem programowania wysokiego poziomu, statycznie typowanym, wieloparadygmatowym opracowanym przez firmę Microsoft. Kod C # zwykle jest przeznaczony dla rodziny narzędzi Microsoft .NET i czasów wykonywania, do których należą między innymi .NET Framework, .NET Core i Xamarin. Użyj tego tagu w przypadku pytań dotyczących kodu napisanego w C # lub C # formalnej specyfikacji.