Клик управления веб-браузером - PullRequest
0 голосов
/ 13 декабря 2011

Я использую управление веб-браузером в своем проекте и открываю сеть, в которой есть объект выбора файлов.Теперь я хочу программно внедрить путь к файлу в этом объекте выбора файлов.

Я попытался получить HtmlElement, но я не нашел в исходном коде идентификатор элемента.

Редактировать:

В сети есть кнопка «Обзор ...», которая открывает средство выбора файлов, а затем путь к файлу отображается в небольшом текстовом поле, и я хочу внедрить путь к файлу самостоятельнотекстовое поле.

1 Ответ

1 голос
/ 13 декабря 2011

Во-первых.установите имя, идентификатор или класс для элемента, значение которого вы хотите изменить.Есть несколько способов сделать это.Я бы использовал firebug для firefox, или панель инструментов разработчика IE, или просто просматривал исходный код страницы и определял имя / идентификатор поля.Теперь, если у этого поля нет имени или идентификатора, который вы можете использовать, вы можете получить содержащий элемент и выполнить итерацию дочерних элементов n раз, пока не получите нужный элемент.

Для моего встроенногоПриложение для браузера В c # я сделал следующее: -

// webBrowser is the name of the embedded IE browser in your app
var htmlDocument = webBrowser.Document;
if(htmlDocment!=null)
{
    var field = htmlDocument.GetElementById("...the id...");
    if(field!=null)
    {
        field.SetAttribute("value","...yourfilenamepathonyourmachine...");
    }

    // Now you would need to establish the ID of the submit element and click that
    var submitButton = htmlDocument.GetElementById("...submit button...");
    if(submitButton!=null)
    {
        submitButton.InvokeMember("Click");
    }
   // your code to loop?
}

Итак, у вас есть HTML-код рассматриваемой страницы?это могло бы помочь, и лучший ответ может быть дан

С уважением Джулиан

...