CheckBox и WebBrowser

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
eldar22
Обычный пользователь
Обычный пользователь
 
Сообщения: 91
Зарегистрирован: 09.09.2008 (Вт) 18:11

CheckBox и WebBrowser

Сообщение eldar22 » 17.09.2009 (Чт) 13:49

Здравствуйте !
Я тут по поводу CheckBox.
Не могу программным путём нажать на чексбокс который находиться в webbrowser
Код: Выделить всё
<input type="checkbox" name="agr">

Искал по форум, но ответа путём не нашёл
Доказательство что искал
http://bbs.vbstreets.ru/viewtopic.php?f=1&t=31204

Проблема в том что эта страница регистрации поэтому тег INPUT там очень много

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: CheckBox и WebBrowser

Сообщение iGrok » 17.09.2009 (Чт) 13:59

Ну у них, наверное, есть какие-либо отличия? Например, атрибут ID или NAME. Вот по ним и определяй.
label:
cli
jmp label

eldar22
Обычный пользователь
Обычный пользователь
 
Сообщения: 91
Зарегистрирован: 09.09.2008 (Вт) 18:11

Re: CheckBox и WebBrowser

Сообщение eldar22 » 17.09.2009 (Чт) 15:45

Код: Выделить всё
Set Doc = WebBrowser1.Document
Dim Inputs As IHTMLElementCollection
Set Inputs = Doc.All.tags("INPUT")
Dim Element As IHTMLElement
Set Element = Inputs.Item(0)
Dim InputElement As IHTMLInputElement
Set InputElement = Element
InputElement.Checked = True


Да это код работает только если в на странице есть один тег input, а вот как по name определять?

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: CheckBox и WebBrowser

Сообщение Antonariy » 17.09.2009 (Чт) 16:10

document.getElementsByName
Лучший способ понять что-то самому — объяснить это другому.

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: CheckBox и WebBrowser

Сообщение dr.MIG » 17.09.2009 (Чт) 16:44

eldar22 писал(а):Да это код работает только если в на странице есть один тег input, а вот как по name определять?

Нет, этот код работает, даже если там сотня тэгов input. Вдумайся в строчку Set Element = Inputs.Item(0).
Salus populi suprema lex

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Re: CheckBox и WebBrowser

Сообщение Antonariy » 17.09.2009 (Чт) 17:19

dr.MIG писал(а):
eldar22 писал(а):Да это код работает только если в на странице есть один тег input, а вот как по name определять?

Нет, этот код работает, даже если там сотня тэгов input. Вдумайся в строчку Set Element = Inputs.Item(0).
Не работает, потому что индекс нужного инпута не известен :) И работает, если он всего один и он чекбокс. :lol:
Лучший способ понять что-то самому — объяснить это другому.

eldar22
Обычный пользователь
Обычный пользователь
 
Сообщения: 91
Зарегистрирован: 09.09.2008 (Вт) 18:11

Re: CheckBox и WebBrowser

Сообщение eldar22 » 17.09.2009 (Чт) 17:42

Тогда как быть у меня на странице несколько тегов input и два checkbox ио отличаеться они name а не id
Как быть?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: CheckBox и WebBrowser

Сообщение iGrok » 17.09.2009 (Чт) 18:10

eldar22 писал(а):Тогда как быть у меня на странице несколько тегов input и два checkbox ио отличаеться они name а не id
Как быть?

Тебе ж сказали, getElementByName.
Как вариант - перебирать весь массив Inputs.Item и проверять имена.
label:
cli
jmp label

eldar22
Обычный пользователь
Обычный пользователь
 
Сообщения: 91
Зарегистрирован: 09.09.2008 (Вт) 18:11

Re: CheckBox и WebBrowser

Сообщение eldar22 » 17.09.2009 (Чт) 23:01

Перебирать весь массив input.item и проверять имена
А другого варианта нету?

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: CheckBox и WebBrowser

Сообщение iGrok » 17.09.2009 (Чт) 23:04

eldar22 писал(а):А другого варианта нету?

[Матерное слово], [Матерное слово], [Матерное слово]!!!!

У тебя что, фильтр какой-то стоит, что ты в упор не видишь первой строки моего сообщения, и первого поста Antonariy?!

Если действительно не видишь, вот тебе ссылка!
http://msdn.microsoft.com/en-us/library/ms536438.aspx
label:
cli
jmp label

eldar22
Обычный пользователь
Обычный пользователь
 
Сообщения: 91
Зарегистрирован: 09.09.2008 (Вт) 18:11

Re: CheckBox и WebBrowser

Сообщение eldar22 » 18.09.2009 (Пт) 15:29

iGrok -не кипятись проблема решена :D

Код: Выделить всё
Private Sub Command1_Click()
Set doc = WebBrowser1.Document
Dim Inputs As IHTMLElementCollection
Set Inputs = doc.getElementsByName("Имя объекта")
Dim Element As IHTMLElement
Set Element = Inputs.Item(0)
Dim InputElement As IHTMLInputElement
Set InputElement = Element
InputElement.Checked = True
End Sub


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 96

    TopList