|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.06.2018, 23:29 | #1 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
ChromeDriver Selenium, ожидание выполнения скриптов
Здравствуйте.
Есть такая вот незадача ... В браузере кнопка, по нажатии на которую весь основной экшн перехватывает на себя не то ли JavaScript, не то ли весь AJAX. При посылке туда elem.Click() я сразу же получаю управление в коде, и дальнейшее выполнение сыпется. Нагуглил всякие wait'ы, но как ими пользоваться в конкретном моём случае - я так и не понял =) Ещё, до этого нагуглил Код:
Как посоветуете быть ?
Подпись ? Не, не слышал ...
Последний раз редактировалось Вадим Мошев; 17.06.2018 в 01:02. |
16.06.2018, 23:53 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Ну дык гуглите дальше про wait'ы.
Я такую обертку использовал для удобства: Код:
Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 17.06.2018 в 00:06. |
17.06.2018, 01:41 | #3 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Годно, благодарю ...
Помнится я тут как то создавал тему про то, как кликнуть в координаты ... Создавать новую тему не хочу, а где старая - не нашёл. Проблема в том, что я знаю где находится нужная мне кнопка по X и Y, но не знаю, как получить элемент; это список, опции которых скрыты, а в обёртку выгружаются они всё тем же JS/AJAX, и как по ним бахнуть я понятия не имею ...Пытался отправлять текстом в список - ничего хорошего из этого не вышло. Что по этому поводу сможете подсказать ? Здесь уже начинает бушевать моя совесть, ибо я работаю над проектом, который приносит мне деньги, с кем делиться ? =)
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 17.06.2018 в 01:48. |
17.06.2018, 01:49 | #4 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
Если там обычный <select>, то в Selenium.Support есть Select.
Ну или всегда можно выполнить любой JS.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
17.06.2018, 02:15 | #5 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Вот в JS я совсем не селен ...
Да действительно, но у меня не работает ... В списке элементов все тексты пустые, и на выбор элемента по индексу реакция нулевая. В моём случае, похоже что нужно JS ... Но я не знаю что туды толкать. Вложил скриншот куска DOM-а - "скрытые" элементы в программе видятся как пустые элементы с нулевыми размерами и позициями.
Подпись ? Не, не слышал ...
|
17.06.2018, 17:41 | #6 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Понагуглил всякие Actions, вот что накодил:
Код:
Смещение в функции MoveToElement выполняется НЕ от центра элемента, как было написано в некоторых местах интернета, а от верхнего левого угла элемента, как это и положено в компьютерах (а это моё ИМХО =) ). В браузере, в средствах для разработчика, попробовал заменить кусок исходного кода на нужный, и вроде как даже сработало, но как это сделать программно - понятия не имею ...
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 17.06.2018 в 17:49. |
17.06.2018, 18:50 | #7 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
В XPath можно использовать ' ' кавычки.
И если не нужно что-то сложное с наследниками/родителями или поиск текста, то проще CSS. #someId .some-class
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
17.06.2018, 18:55 | #8 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Как то парсил сайт avto.pro, и там каждый раз приходили разные данные в CSS селекторах. Почему - не знаю.
Знаю только то, что XPath в этом плане будет более универсален и устойчив. Даже по Id и ClassName не всегда могут находиться элементы.
Подпись ? Не, не слышал ...
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Selenium, ChromeDriver | OmegaBerkut | C# (си шарп) | 13 | 27.04.2020 15:17 |
Selenium, chromedriver.exe падает "просто потому что" | OmegaBerkut | Общие вопросы по программированию, компьютерный форум | 10 | 09.04.2018 21:28 |
библиотека скриптов с VM с поддержкой шага выполнения | Пепел Феникса | Общие вопросы по программированию, компьютерный форум | 3 | 01.03.2016 15:39 |
Ожидание выполнения TerminateProcess | Shouldercannon | Win Api | 7 | 13.07.2012 17:37 |
Ожидание выполнения файла .cmd | Droid | Общие вопросы Delphi | 14 | 01.08.2010 17:05 |