Выполните щелчок на элементе управления веб-браузера - PullRequest
1 голос
/ 31 марта 2011

Кто-нибудь знает хороший способ выполнить щелчок по элементу управления внутри веб-браузера? Желательно от ID?

Спасибо, все предложения приветствуются.

Ответы [ 3 ]

3 голосов
/ 31 марта 2011

Используйте метод HtmlElement.InvokeMember ("click").Вот пример формы, в которой используется кнопка Google «Мне повезет»:

public partial class Form1 : Form {
    public Form1() {
        InitializeComponent();
        webBrowser1.Url = new Uri("http://google.com");
        webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted;
    }

    void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
        if (webBrowser1.Url.Host.EndsWith("google.com")) {
            HtmlDocument doc = webBrowser1.Document;
            HtmlElement ask = doc.All["q"];
            HtmlElement lucky = doc.All["btnI"];
            ask.InnerText = "stackoverflow";
            lucky.InvokeMember("click");
        }
    }
}
0 голосов
/ 11 января 2012

Это на самом деле не для идентификатора, но вы можете сделать то же самое с ним, используя кнопку значения.

Dim allelements As HtmlElementCollection = WebBrowser1.Document.All

For Each webpageelement As HtmlElement In allelements

If webpageelement.GetAttribute("value") = "Log In" Then

webpageelement.InvokeMember("click")

End If

Next
0 голосов
/ 31 марта 2011

Вы не можете напрямую вызвать click для чего-либо в элементе управления. Однако вы можете зарегистрировать JavaScript в элементе управления и выполнить щелчок таким образом.

См. Как добавить Javascript в элемент управления WebBrowser? для получения подробной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...