Na przykład, przy użyciu kodu i bez wprowadzania danych przez użytkownika, jak będę mieć mój program kliknij przycisk „Szukaj” na google (zakładając, że mam już wypełniony w polu wyszukiwania i jestem w google.com)Jak kliknąć przycisk w kontrolce przeglądarki internetowej?
16
A
Odpowiedz
42
webBrowser1.Navigate("http://www.google.com");
Jeśli masz ID
użyj:
webBrowser1.Document.GetElementById("id").InvokeMember("click");
Jeśli masz TagName
wykorzystanie tego
webBrowser1.Navigate("http://www.google.com");
przeglądarkę internetową DocumentCompleted imprezy
HtmlElement textElement = webBrowser1.Document.All.GetElementsByName("q")[0];
textElement.SetAttribute("value", "your text to search");
HtmlElement btnElement = webBrowser1.Document.All.GetElementsByName("btnG")[0];
btnElement.InvokeMember("click");
Jeśli masz Imię Class
użyj:
HtmlElementCollection classButton = webBrowser1.Document.All;
foreach (HtmlElement element in classButton)
{
if (element.GetAttribute("className") == "button")
{
element.InvokeMember("click");
}
}
na dodanie tekstu w TextBox
wyszukiwania google.com, użyj tego:
webBrowser1.Document.GetElementById("gs_tti0").InnerText = "hello world";
2
Spróbuj następującego kodu:
public WebBrowser webBrowser1 = new WebBrowser();
private void WebForm_Load(object sender, EventArgs e)
{
try
{
webBrowser1.Height = 1000;
webBrowser1.Width = 1000;
this.Controls.Add(webBrowser1);
webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(WebBrowser_DocumentCompleted);
this.webBrowser1.Navigate("www.google.com.au");
}
catch
{ }
Odpis następującej funkcji w C# formularza:
public void WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
var webBrowser = sender as WebBrowser;
webBrowser.DocumentCompleted -= WebBrowser_DocumentCompleted;
HtmlElement textElement = webBrowser.Document.All.GetElementsByName("q")[0];
textElement.SetAttribute("value", "mlm company");
HtmlElement btnElement = webBrowser.Document.All.GetElementsByName("btnG")[0];
btnElement.InvokeMember("click");
}
0
Oprócz korzystania InvokeMember
i innych, jeśli strona ma problemy odpowiadać, gdy wywoływana przez ID
lub Class
, można spróbować użyć {TAB}
& {ENTER}
przy użyciu klasy SendKeys
w .NET. Napisałem wiele skryptów do stron internetowych i odkryłem, że musiałem użyć kombinacji obu (mimo że SendKeys
jest znacznie bardziej zawikłany niż metody w odpowiedzi @ AleWina).
Powiązane problemy
- 1. Jak dodać cookie w kontrolce internetowej?
- 2. Jak kliknąć na przycisk javascript w temat przeglądarki HtmlUnit
- 3. Zachowanie klawiszy kart w kontrolce edycji przeglądarki
- 4. Swift: Jak programowo kliknąć przycisk?
- 5. Jak kliknąć łącze za pomocą przeglądarki Webkit?
- 6. Wyłączony przycisk można kliknąć w przeglądarce krawędzi
- 7. Jak kliknąć Facebook Jak przycisk używając Webdriver
- 8. Przycisk wysyłania railsów: Jak mogę kliknąć przycisk uruchamiający określoną metodę?
- 9. Przycisk Wstecz (zachowanie przeglądarki)
- 10. Muszę dwukrotnie kliknąć przycisk, aby zadziałał.
- 11. Uzyskanie absolutnej pozycji elementu HTML w kontrolce przeglądarki z C#
- 12. Przycisk nawigacji wstecz nie jest wyświetlany w kontrolce Pushed View
- 13. Przycisk powrotu do przeglądarki Kliknij jedno kliknięcie, aby kliknąć dwukrotnie przy użyciu javascript
- 14. C# Przejdź do zakotwiczeń w kontrolce WebBrowser
- 15. Czy istnieje klient przeglądarki internetowej bez przeglądarki internetowej dla Node.js, który nie musi korzystać z przeglądarki?
- 16. Jak uruchomić kątomierz za pomocą przeglądarki internetowej?
- 17. Posiada przycisk, aby kliknąć dwukrotnie w ASP.NET (po AutoPostBack tekstowym)
- 18. Jak programowo usuwać pliki cookie przeglądarki internetowej?
- 19. Potrzebuję przeglądarki internetowej w mojej aplikacji komputerowej
- 20. ASP.net symuluje przycisk powrotu przeglądarki
- 21. Jak wyłączyć okno "Alert bezpieczeństwa" w kontrolce Webbrowser
- 22. Jak emulować przeglądarki przycisk wstecz przy użyciu JavaScript
- 23. JavaScript - jak zamknąć aktualną kartę przeglądarki klikając przycisk?
- 24. Jak zaktualizować zawartość DOM w kontrolce WebBrowser w języku C#?
- 25. Ładowanie zasobu Androida do przeglądarki internetowej
- 26. Czy mogę zabronić autouzupełniania przeglądarki internetowej?
- 27. Nie można kliknąć komórki, ale przycisk powinien nadal być klikalny.
- 28. Jak mogę zasymulować przycisk wstecz przeglądarki w Capybara?
- 29. Pierwsze ciasteczka przeglądarki internetowej do zalogowania
- 30. Czy można użyć przeglądarki internetowej bez pakowania?
shdocvw i MSHTML również mogą pochodzić być używany !! – xameeramir
Przepraszam, ale czym jest "webBrowser"? –
@KyleKhalaf Myślę, że miał na myśli "webBrowser1" – hhk