Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
0 / 0 / 0
Регистрация: 23.10.2016
Сообщений: 122

Selenium не могу нажать на нужную ссылку

25.08.2017, 18:34. Показов 3496. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день начал баловаться с Selenium простые переходы и все такое вроде освоил немного но вот у меня задача есть список из блоков вот таких, но в них разные ссылки
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
<div class="people_row search_row clear_fix">
    <div class="img ui_zoom_wrap" onmouseover="uiPhotoZoom.over(this, 117797393)">
        <a class="ui_zoom_outer ui_zoom_added" href="/albums117797393" aria-label="Увеличить">
            <div class="ui_zoom_inner">
                <div class="ui_zoom">
                    <div class="ui_zoom_icon">
                    </div>
                </div>
            </div>
        </a>
    <a href = "/yanka_bon" onclick="return nav.go(this, event);" class="search_item_img_link _online"><img class="search_item_img" src="https://pp.userapi.com/c638524/v638524393/3dd13/APf3IgLt9Sk.jpg" alt="Яна Францевич"></a>
    </div>
мне нужно кликнуть на эту ссылку
HTML5
1
 <a href = "/yanka_bon" onclick="return nav.go(this, event);" class="search_item_img_link _online"><img class="search_item_img" src="https://pp.userapi.com/c638524/v638524393/3dd13/APf3IgLt9Sk.jpg" alt="Яна Францевич"></a>
из данных я только имею 117797393 тоеть в каждом блоке меняется uiPhotoZoom.over(this, 117797393)
и вот мне нужно в блоке с 117797393 нажать на ссылку с классом class="search_item_img_link _online" как это можно сделать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.08.2017, 18:34
Ответы с готовыми решениями:

Selenium определить нужную вкладку в браузере
Суть проблемы заключается в том что кнопка на которую мне нужно нажать находится на другой вкладке, я программно ее открываю эту вкладку а...

Нажать кнопку через Selenium
Здравствуйте столкнулся с такой проблемой при создании кликера, нажимаю на кнопку открывается новая вкладка в браузере в которой может быть...

(Selenium) Необходимо нажать на настройки в дискорде(браузер)
Странная кнопка, начинается не с .button или &lt;button, не знаю как на нее нажать.

6
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.08.2017, 19:53
Ищите сначала
HTML5
1
<div class="img ui_zoom_wrap" onmouseover="uiPhotoZoom.over(this, 117797393)">
А в нем
HTML5
1
<a href = "/yanka_bon" onclick="return nav.go(this, event);" class="search_item_img_link _online"><img class="search_item_img" src="https://pp.userapi.com/c638524/v638524393/3dd13/APf3IgLt9Sk.jpg" alt="Яна Францевич"></a>
В чем проблема?

Добавлено через 5 минут
Как то так:
C#
1
2
3
var divElement  = driver.FindElement(By.XPath("//div[@onmouseover='uiPhotoZoom.over(this, 117797393)']"))
 
var aElement = divElement.FindElement(By.XPath(".//a[@class='search_item_img_link _online']"))
1
0 / 0 / 0
Регистрация: 23.10.2016
Сообщений: 122
25.08.2017, 20:52  [ТС]
Avazart, можете еще кое-что подсказать,как сделать если по XPath не нашло ничего сделать скролинг вниз, и еще раз проверить. просто там получается бесконечная прокрутка, но как определить что прокрутить больше нельзя, я смотрел на изменения в коде ничего не появляется в html если больше элементов нет, можно ли как-то определить программно что скролинг в низ не идет уже. Спасибо
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
25.08.2017, 21:15
Пробуйте прокрутить, ждите какое-то время, если появились новые элементы значит есть куда прокручивать, если нет- это конец.
Ну или найдите элемент на которые можно ориентироваться.
0
0 / 0 / 0
Регистрация: 23.10.2016
Сообщений: 122
26.08.2017, 11:07  [ТС]
Avazart, скажите а если после скролинга идет обращение к одному и тому же скрипту https://vk.com/al_search.php передавая POST как это можно сделать?
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
26.08.2017, 13:09
Не могу сказать.
0
0 / 0 / 0
Регистрация: 23.10.2016
Сообщений: 122
26.08.2017, 13:38  [ТС]
Avazart, подскажите как сделать условие что бы не ловило исключение By.XPath("//div[@onmouseover='uiPhotoZoom.over(this, 117797393)']") когда результата еще нет на страничке, не могу понять либо до этого нужно искать в html onmouseover='uiPhotoZoom.over(this, 117797393)'. Спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.08.2017, 13:38
Помогаю со студенческими работами здесь

Не могу найти нужную форму (Selenium)
Приветствую форумчан, уже который день бьюсь над проблемой. Есть один сайт, там встроенный текстовый редактор для отправки сообщений, мне...

Как не через selenium нажать кнопку на сайте
Всем доброго дня P.s. в вебе я чайник, в скором времени хотел всё это дело начать учить, но обстоятельства уже требуют каких-то знаний, а...

Редирект на нужную ссылку в .htaccess
Есть сайт, все ссылки на новости в нем получаются в двух видах site.ru/news.php?name=2012113031 и...

[Selenium] Как открыть ссылку в новой вкладке?
Нужна помощь по селениуму. Прожка открывает сайтец в хроме и находит ссылки и кликает по ним по очередности. Мне нужно чтоб при клике...

Нажать на ссылку в iframe
Итак, всем привет. Суть моей проблемы: есть html-файл на моем сервере. В нем есть ссылка на другой сайт. Мне нужно закинуть html-файл в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru