Может кто-нибудь помочь с https://tass.com/world/1424697. Пожалуйста!!!!!

nail2501

Client
Регистрация
19.04.2015
Сообщения
439
Благодарностей
35
Баллы
28
Не могу перейти по ссылкам.
Наведение мыши не работает.
Скролит до бесконечности в низ и все.
собирал - ссылки у которых видимые координаты и нормальная длина.
Интересует переход мыши на htmlelement.
Кто нибудь умеет с такими сайтами работать? Интересует не главная, а вот эта, с автоподгрузкой. Ранее с автоподгрузкой особых проблем не было, мышь наводилась. Заранее спасибо.

ДОБАВИЛ
тут прикол в том что куча ссылок скрыто, в основном за элементом SECTIONS (справа вверху), но идентифицировать их как скрытые не получается: у них реальные координаты, у них реальные размеры, у них нет стилей которые бы говорили что они скрытые. Точнее я не вижу как их идентифицировать как скрытые.
На этой страничке вообще не получается переходить по ссылкам. Очень нужна помощь по поиску стилей или других сущностей, которые помогут определить ссылки как невидимые..
 
Последнее редактирование:

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
400
Баллы
63
Вот такой xpath //a[@class='news-content__container'] находит все ссылки в основном блоке. Однако следует отметить, что эти ссылки относительные, вида world/1424697. Т.е. чтобы получить рабочую ссылку, надо склеить ее из https://tass.com/ и собственно полученных значений
 

nail2501

Client
Регистрация
19.04.2015
Сообщения
439
Благодарностей
35
Баллы
28
Вот такой xpath //a[@class='news-content__container'] находит все ссылки в основном блоке. Однако следует отметить, что эти ссылки относительные, вида world/1424697. Т.е. чтобы получить рабочую ссылку, надо собрать ее из https://tass.com/ и собственно полученных значений
Да я видел. Пробовал, но мышь не наводится. До этого проблем не было. Сейчас уже десятки таких сайтов. Вы попробуйте мышь навести по элементу и кликнуть.
 

nail2501

Client
Регистрация
19.04.2015
Сообщения
439
Благодарностей
35
Баллы
28
Вот такой xpath //a[@class='news-content__container'] находит все ссылки в основном блоке. Однако следует отметить, что эти ссылки относительные, вида world/1424697. Т.е. чтобы получить рабочую ссылку, надо склеить ее из https://tass.com/ и собственно полученных значений
именно на той странице что я скинул, не на главной. Если получится напишите плиз
 

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
400
Баллы
63
Я думал вам ссылки нужно собрать. Вы задачу опишите подробнее
 

nail2501

Client
Регистрация
19.04.2015
Сообщения
439
Благодарностей
35
Баллы
28
Я думал вам ссылки нужно собрать. Вы задачу опишите подробнее
Спарсить ссылки, навести мышь и кликнуть на случайную )) На странице https://tass.com/world/1424697
стандартным способом
instance.ActiveTab.FullEmulationMouseMoveToHtmlElement(he);
instance.ActiveTab.FullEmulationMouseClick("left", "click");
но можно и не стандартным.
 
Последнее редактирование:

nail2501

Client
Регистрация
19.04.2015
Сообщения
439
Благодарностей
35
Баллы
28
Никто не знает чтоли как отфильтровать ссылки из раздела SECTIONS при парсинге???
Подскажите. Они скрыты в этом разделе, но их координаты и их размеры не нулевые - по этим параметрам не получится отфильтровать, display:inline-block - тоже не получится.
родительские невидимые ссылки имеют атрибут data-ng-mouseover чтобы это не значило, думал в этом дело, но дочерние невидимые не имеют такого атрибута..
Кто шарит? Переходить по ссылкам в этой кремлевской инфо помойке не получается.
Это уже 30 или 40 сайт с подобной версткой, когда все атрибуты и стили говорят что ссылки видны, а на деле нет.
Подскажите, может на какой то стиль надо обратить внимание, чтобы идентифицировать ссылку как "невидимую"?
На сайте используется angular.js
 
Последнее редактирование:

nail2501

Client
Регистрация
19.04.2015
Сообщения
439
Благодарностей
35
Баллы
28
Пока нашел единственный атрибут который отличает скрытые ссылки от видимых - наличие rel = nofollow
Но на 5 сайтах из 10 с подобной технологией скрытые ссылки не имеют этого.
Все таки хотелось бы найти более весомый аргумент.
Знаний не хватает.
 
Последнее редактирование:

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 339
Благодарностей
5 433
Баллы
113
Похоже на блог))
 

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
632
Благодарностей
544
Баллы
93
C#:
var TopInTab = new List<string>(); // Создадим пустой список
bool DefoultEmulation = instance.UseFullMouseEmulation; // Получим текущие установки эмуляции мыши
Tab tab = instance.ActiveTab; // Объявим упрощенное обращение к активной вкладке

var ReadMore = tab.FindElementsByXPath("//*[@class='news-content__link' and contains(.,'Read more')]").Shuffle(); // Получим все Элементы "Read more" в список, с их перемешиванием
foreach(var n in ReadMore) if (int.Parse(n.GetAttribute("topInTab")) > 0) TopInTab.Add(n.GetAttribute("topInTab")); // Вытащим только видимые елементы "Read more"
TopInTab.Shuffle(); // Перемешаем список в видимыми "Read more"
instance.UseFullMouseEmulation = true; // Принудительно зададим фулл эмуляцию мыши
tab.FindElementByXPath("//*[@class='news-content__link' and contains(.,'Read more')]", new Random().Next(TopInTab.Count)).Click(); // Кликаем на видимую "Read more"
instance.UseFullMouseEmulation = DefoultEmulation; // Вернем настройки эмуляции мыши обратно
 
  • Спасибо
Реакции: nail2501 и Mikhail B.

nail2501

Client
Регистрация
19.04.2015
Сообщения
439
Благодарностей
35
Баллы
28
Спасибо. Щас потестирую.
))
Я делаю для универсального шаблона
 

nail2501

Client
Регистрация
19.04.2015
Сообщения
439
Благодарностей
35
Баллы
28
'news-content__link' and contains(.,'Read more')

Ну это вроде как годится только для одного сайта.
Шаблон через 5 минут перейдет на следующий сайт. И что делать?????????? там не будет таких классов и таких надписей.
НО ВСЕ РАВНО СПАСИБО.

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

Есть ли какой то стиль или атрибут или еще что то, который указывает на то что ссылка за пределами видимости?
width height left top, стили типа display не годятся.
Они показывают видимость, но ссылки невидимы.
 
Последнее редактирование:

nail2501

Client
Регистрация
19.04.2015
Сообщения
439
Благодарностей
35
Баллы
28

nail2501

Client
Регистрация
19.04.2015
Сообщения
439
Благодарностей
35
Баллы
28
C#:
var TopInTab = new List<string>(); // Создадим пустой список
bool DefoultEmulation = instance.UseFullMouseEmulation; // Получим текущие установки эмуляции мыши
Tab tab = instance.ActiveTab; // Объявим упрощенное обращение к активной вкладке

var ReadMore = tab.FindElementsByXPath("//*[@class='news-content__link' and contains(.,'Read more')]").Shuffle(); // Получим все Элементы "Read more" в список, с их перемешиванием
foreach(var n in ReadMore) if (int.Parse(n.GetAttribute("topInTab")) > 0) TopInTab.Add(n.GetAttribute("topInTab")); // Вытащим только видимые елементы "Read more"
TopInTab.Shuffle(); // Перемешаем список в видимыми "Read more"
instance.UseFullMouseEmulation = true; // Принудительно зададим фулл эмуляцию мыши
tab.FindElementByXPath("//*[@class='news-content__link' and contains(.,'Read more')]", new Random().Next(TopInTab.Count)).Click(); // Кликаем на видимую "Read more"
instance.UseFullMouseEmulation = DefoultEmulation; // Вернем настройки эмуляции мыши обратно
Ищу универсальный вариант. Выше написал. Возможно ли? на примере этого сайта, но без привязки к нему.
 
Последнее редактирование:

Yuriy Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
6 386
Благодарностей
3 309
Баллы
113

nail2501

Client
Регистрация
19.04.2015
Сообщения
439
Благодарностей
35
Баллы
28
Я не ищу готовое решение. Я ищу подсказку.
Там где нужно готовое решение в теме УСЛУГ по вашей ссылке уже создал предложение.
Здесь нужна просто подсказка на что обратить внимание.
 

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