Обычно я могу получить доступ к тэгам html, и я могу установить их значения через код, что-то вроде;
HtmlElementCollection coll = webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement curElement in coll)
{
if (curElement.GetAttribute("name").ToString() == "login")
{
curElement.SetAttribute("Value", "123456789");
}
}
Но если область ввода html существует в теге iframe, этот код не работал,
И я изменил строку:
var coll = webBrowser1.Document.GetElementsByTagName("input");
в
var coll = webBrowser1.Document.Window.Frames[0].Document.GetElementsByTagName("iframe")
Но он все еще не работал. Пожалуйста помоги. Я не могу преодолеть эту проблему с прошлой недели
Ваш код выглядит так, как если бы вы изменили эту строку:
coll = webBrowser1.Document.Window.Frames[0].Document.GetElementsByTagName("iframe")
в
coll = webBrowser1.Document.Window.Frames[0].Document.GetElementsByTagName("input");
Вот рабочий пример...
HtmlWindow iframe = webBrowser1.Document.Window.Frames[0];
HtmlElement input = iframe.Document.GetElementsByTagName("input")[0];
input.SetAttribute("value", "Test");
Это предполагает, что у вас есть хотя бы один элемент iframe и хотя бы один элемент ввода в дочернем документе.