|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.09.2015, 23:57 | #1 |
Пользователь
Регистрация: 10.07.2015
Сообщений: 40
|
InvokeMember WebBrowser
При вызове InvokeMember для input type="image" происходит обновление страницы вместо перехода по ссылке формы. В чём проблема?
Код:
|
05.09.2015, 13:29 | #2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
А я бы HtmlElement заменил на другой класс, более подходящий кнопке.
Конечно же поискал бы что-то типа HtmlElementInput. Или класс с методом Click.
I'm learning to live...
|
05.09.2015, 13:33 | #3 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
А я бы Selenium взял и не парился с веббраузером если он нужен только для автоматизации действий, а не для взаимодействия пользователя с ним. Для автоматизации Selenium в 100500 раз проще и удобнее.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
05.09.2015, 21:50 | #4 |
Пользователь
Регистрация: 10.07.2015
Сообщений: 40
|
В ходе долгих мучений с кодом я выявил одну штуку: InvokeMember("click") имитирует не клик мышкой по элементу, а нажатие Enter-а. На всех страницах кроме одной на тестируемом сайте инвок проходит успешно, а на одной из них кнопкой Enter вызывается перезагрузка страницы. Всё было проверено через SendKeys.Send("{ENTER}"); . Что ещё в таком случае можно накопать?
|
05.09.2015, 22:08 | #5 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
.click() через JS.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
05.09.2015, 22:18 | #6 |
Пользователь
Регистрация: 10.07.2015
Сообщений: 40
|
Попробовал. Видно, что кнопка нажимается (анимация), но загрузка страницы не происходит. Есть ли в JS какая-нибудь функция вызова события submit?
Вот то, что я использовал с click(): Код:
Код:
Последний раз редактировалось Stilet; 06.09.2015 в 10:34. |
05.09.2015, 22:38 | #7 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
submit() и есть у формы. И у элементов вроде есть свойство form
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
05.09.2015, 22:47 | #8 |
Пользователь
Регистрация: 10.07.2015
Сообщений: 40
|
и ещё: может ли всё это не работать из-за того, что форма находится во фрейме?
|
05.09.2015, 22:58 | #9 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
В фрейме б вы вроде не нашли бы элемент через просто document.getElementById без указания фрейма.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
05.09.2015, 23:09 | #10 |
Пользователь
Регистрация: 10.07.2015
Сообщений: 40
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
параметр binder в InvokeMember | well-well | C# (си шарп) | 0 | 13.11.2011 16:33 |
использование InvokeMember | Timer32 | C# (си шарп) | 9 | 13.09.2011 16:52 |
webbrowser | Arsenx777 | Работа с сетью в Delphi | 1 | 11.08.2011 14:22 |
WebBrowser | rabbitsnew | Общие вопросы Delphi | 1 | 23.09.2010 18:05 |
WebBrowser | Druid-druid | Работа с сетью в Delphi | 1 | 12.12.2007 13:23 |