Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
prog77
0 / 0 / 0
Регистрация: 23.10.2016
Сообщений: 122
1

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

25.08.2017, 18:34. Просмотров 514. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.08.2017, 18:34
Ответы с готовыми решениями:

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

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

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

Как нажать на ссылку через WebBrowser
Привет. Долго уже мучаюсь. Есть кнопка-ссылка-javascript (выбрать нужное), мне...

Как программно нажать на Ajax ссылку через WebBrowser
Знакомый попросил сделать &quot;накручивалку&quot; рейтинга на оодном сайте. Начал...

6
Avazart
Эксперт С++
7725 / 5634 / 549
Регистрация: 10.12.2010
Сообщений: 25,412
Записей в блоге: 17
25.08.2017, 19:53 2
Ищите сначала
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
prog77
0 / 0 / 0
Регистрация: 23.10.2016
Сообщений: 122
25.08.2017, 20:52  [ТС] 3
Avazart, можете еще кое-что подсказать,как сделать если по XPath не нашло ничего сделать скролинг вниз, и еще раз проверить. просто там получается бесконечная прокрутка, но как определить что прокрутить больше нельзя, я смотрел на изменения в коде ничего не появляется в html если больше элементов нет, можно ли как-то определить программно что скролинг в низ не идет уже. Спасибо
0
Avazart
Эксперт С++
7725 / 5634 / 549
Регистрация: 10.12.2010
Сообщений: 25,412
Записей в блоге: 17
25.08.2017, 21:15 4
Пробуйте прокрутить, ждите какое-то время, если появились новые элементы значит есть куда прокручивать, если нет- это конец.
Ну или найдите элемент на которые можно ориентироваться.
0
prog77
0 / 0 / 0
Регистрация: 23.10.2016
Сообщений: 122
26.08.2017, 11:07  [ТС] 5
Avazart, скажите а если после скролинга идет обращение к одному и тому же скрипту https://vk.com/al_search.php передавая POST как это можно сделать?
0
Avazart
Эксперт С++
7725 / 5634 / 549
Регистрация: 10.12.2010
Сообщений: 25,412
Записей в блоге: 17
26.08.2017, 13:09 6
Не могу сказать.
0
prog77
0 / 0 / 0
Регистрация: 23.10.2016
Сообщений: 122
26.08.2017, 13:38  [ТС] 7
Avazart, подскажите как сделать условие что бы не ловило исключение By.XPath("//div[@onmouseover='uiPhotoZoom.over(this, 117797393)']") когда результата еще нет на страничке, не могу понять либо до этого нужно искать в html onmouseover='uiPhotoZoom.over(this, 117797393)'. Спасибо
0
26.08.2017, 13:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.08.2017, 13:38

Selenium findelement Не могу найти элемент
Вот элемент это поле для ввода текста &lt;input name=&quot;text_text&quot; value=&quot;1&quot;...

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

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru