Переход по случайной ссылке из поисковой выдачи Google

Rus74

Client
Регистрация
09.01.2019
Сообщения
112
Благодарностей
43
Баллы
28
Здравствуйте!
Подскажите, пожалуйста, как реализовать переход по случайной ссылке из поисковой выдачи Google?
Задаю в поиске Google поисковый запрос, выходит выдача, надо кликнуть по любой ссылке из этой выдачи.
Причём, надо именно совершить переход по ссылке из выдачи Google, а не спарсить ссылки со страницы и потом перейти через таб "Переход на страницу".
 

TazMan

Client
Регистрация
05.01.2017
Сообщения
236
Благодарностей
37
Баллы
28
собираешь в список xpath - https://prnt.sc/uulzm3
берешь в рандоме любой / делаешь на него mouse.move и потом click сюда же +рандом по x-axys координате для уникальности :-)
в коде не напишу из головы не соображу синтаксис точно
 

zarufakis

Client
Регистрация
22.03.2019
Сообщения
1 737
Благодарностей
1 131
Баллы
113
Спарсить либо ссылки, либо наименования и кликнуть по ним. В теории ничего сложного, да и в реализации 3 кубика.
 

TazMan

Client
Регистрация
05.01.2017
Сообщения
236
Благодарностей
37
Баллы
28
C#:
Random rnd = new Random();
if (instance.ActiveTab.IsBusy) instance.ActiveTab.WaitDownloading();
//System.Threading.Thread.Sleep(rnd.Next(1000,1500));
//какой элемент ищем
var collect = instance.ActiveTab.FindElementsByXPath(@"//h3//span")
//раскомментировать, чтобы выкидывало ошибку, если элементов нет
//if (collect.Count==0) throw new Exception("no elements on page");
for (int i = 0; i < collect.Count; i++){
var tmpelement = collect.GetByNumber(i);
if ((int.Parse(tmpelement.GetAttribute("top"))<1)|(int.Parse(tmpelement.GetAttribute("left"))<1)){
collect.Remove(i);
i--;
}
}
//return collect.Count;
//по какому элементу кликать
var element = collect.GetByNumber(0);
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(element);
element.click();
 

TazMan

Client
Регистрация
05.01.2017
Сообщения
236
Благодарностей
37
Баллы
28
типа такого - на 100% правильный синтаксис не претендую / думаю направление понятно
 

qzen4i

Client
Регистрация
01.05.2014
Сообщения
1 408
Благодарностей
314
Баллы
83
Как вариант можно найти коды которые отвечают на ссылку, сделать эмуляцию через C# после уже кликать по рандомному коду, по номерам совпадение.
 

Rus74

Client
Регистрация
09.01.2019
Сообщения
112
Благодарностей
43
Баллы
28
Решение нашёл, всем спасибо за ответы!
 

Konrod_m

Client
Регистрация
18.09.2014
Сообщения
1 704
Благодарностей
943
Баллы
113
Регистрация
10.01.2019
Сообщения
32
Благодарностей
11
Баллы
8

Capcomnic

Новичок
Регистрация
08.10.2020
Сообщения
2
Благодарностей
0
Баллы
1

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)