Требуется небольшая помощь!

Scalir

Client
Регистрация
07.05.2017
Сообщения
15
Благодарностей
1
Баллы
3
Всем привет!
Помогите пожалуйста, не могу найти как сделать переход по вкладкам на авито и остановки выполнения действий когда вкладка последняя.
75887
 

baracuda

Client
Регистрация
19.06.2013
Сообщения
899
Благодарностей
315
Баллы
63
Вперёд //span[@data-marker="pagination-button/next"]
Назад //span[@data-marker="pagination-button/prev"]
 
  • Спасибо
Реакции: Scalir и udder

Scalir

Client
Регистрация
07.05.2017
Сообщения
15
Благодарностей
1
Баллы
3
Вперёд //span[@data-marker="pagination-button/next"]
Назад //span[@data-marker="pagination-button/prev"]
Наверно сейчас глупо прозвучит) Можете подсказать какое действие надо сделать для данных действий, или как это сделать. И может где то пособие есть (инст рукции)
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 737
Баллы
113
  • Спасибо
Реакции: Scalir

baracuda

Client
Регистрация
19.06.2013
Сообщения
899
Благодарностей
315
Баллы
63
75890
 
  • Спасибо
Реакции: Scalir

Scalir

Client
Регистрация
07.05.2017
Сообщения
15
Благодарностей
1
Баллы
3
Сейчас буду побывать спасибо большое!
 

Scalir

Client
Регистрация
07.05.2017
Сообщения
15
Благодарностей
1
Баллы
3
Спасибо получилось. Проблема в том что когда доходит до конца все равно действие выполняется и считается успешным( а не останавливается.
Сейчас у меня происходит парсинг заголовков и ссылок на объявления но беда, при переходе на вторую страницу происходит опять парсинг все хорошо, но когда вставляется в эксель таблицу у меня сразу вставляется дополнительно первая страница отпарсеная(
 
Последнее редактирование:

Scalir

Client
Регистрация
07.05.2017
Сообщения
15
Благодарностей
1
Баллы
3
1618821334062.pngКак можно достать номер телефона ???
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 737
Баллы
113

Scalir

Client
Регистрация
07.05.2017
Сообщения
15
Благодарностей
1
Баллы
3

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 737
Баллы
113

Scalir

Client
Регистрация
07.05.2017
Сообщения
15
Благодарностей
1
Баллы
3
То есть получается нажимаю показать номер, потом делаю распознание капчи, сохраняю цифры в лист и добавляю в таблицу?
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 737
Баллы
113
  • Спасибо
Реакции: Scalir

Scalir

Client
Регистрация
07.05.2017
Сообщения
15
Благодарностей
1
Баллы
3
А можешь подсказать как сделать чтоб следующая страничка открывалась (Вперёд //span[@data-marker="pagination-button/next"] )
там проблема в том что когда последняя страничка открывается действие все равно выполняется дальше, а не останавливается
 

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 737
Баллы
113
А можешь подсказать как сделать чтоб следующая страничка открывалась (Вперёд //span[@data-marker="pagination-button/next"] )
там проблема в том что когда последняя страничка открывается действие все равно выполняется дальше, а не останавливается
анализируй страницу, находи различия в элементах , проверяй их и делай развилку в логике работы бота.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 545
Благодарностей
10 094
Баллы
113
Спасибо получилось. Проблема в том что когда доходит до конца все равно действие выполняется и считается успешным( а не останавливается.
Сейчас у меня происходит парсинг заголовков и ссылок на объявления но беда, при переходе на вторую страницу происходит опять парсинг все хорошо, но когда вставляется в эксель таблицу у меня сразу вставляется дополнительно первая страница отпарсеная(
После парсинга можно чистить список (таблицу) на дубли (Операции над списком или таблицей - Удалить дубли) запоминать в переменную кол-во строк до парсинга, производить парсинг, снова удалять дубли и считать кол-во строк в другую переменную и сравнивать (кубик IF) - если они равны, то находимся на последней странице.
 

Scalir

Client
Регистрация
07.05.2017
Сообщения
15
Благодарностей
1
Баллы
3
Блин((( весь день мучаюсь с двумя пунктами так и не могу разобраться((((((((


1. Пункт для перехода по страничкам до момента когда странички заканчиваются.
75908




2. Не могу номер телефона вытащить, побывал через распознование капчи но почему то не сработало(
1618831222201.png

Помогите пожалуйста.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 545
Благодарностей
10 094
Баллы
113

Вложения

  • Спасибо
Реакции: Scalir

Scalir

Client
Регистрация
07.05.2017
Сообщения
15
Благодарностей
1
Баллы
3
Последнее редактирование:

nrg8601

Client
Регистрация
22.06.2010
Сообщения
74
Благодарностей
69
Баллы
18
Распознавание картинки с помощью библиотеки tesseract.
Нужно добавить папки из архива в папку Progs.
Добавить в директивы Using:
C#:
using Patagames.Ocr;
using Patagames.Ocr.Enums;
using Patagames.Ocr.Exceptions;
Добавить в Ссылки из GAC файл - Patagames.Ocr.dll из папки ExternalAssemblies из директории, где установлена программа.
 
  • Спасибо
Реакции: Phoenix78 и Sergodjan

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 545
Благодарностей
10 094
Баллы
113

nrg8601

Client
Регистрация
22.06.2010
Сообщения
74
Благодарностей
69
Баллы
18
Забыл архив прикрепить))
 

Вложения

  • Спасибо
Реакции: Phoenix78 и Sergodjan

Phoenix78

Client
Read only
Регистрация
06.11.2018
Сообщения
11 789
Благодарностей
5 737
Баллы
113
Распознавание картинки с помощью библиотеки tesseract.
Нужно добавить папки из архива в папку Progs.
Добавить в директивы Using:
C#:
using Patagames.Ocr;
using Patagames.Ocr.Enums;
using Patagames.Ocr.Exceptions;
Добавить в Ссылки из GAC файл - Patagames.Ocr.dll из папки ExternalAssemblies из директории, где установлена программа.
Поделись ссылкой, откуда начал работать и настраивать с эту библиотеку, хочу углубится :-)
Классные результаты выдает. На тест запихнул ей эту картинку и прям до буквы считала :-)

75926
 

nrg8601

Client
Регистрация
22.06.2010
Сообщения
74
Благодарностей
69
Баллы
18
Я из ZennoPro Academy от Сибборы узнал, сам толком не разбирался, только для авито и использовал. Вот страница продукта с языковыми файлами, сам же страница загрузки с новыми версиями, эту, которую скидывал 2018 года https://tesseract.patagames.com/langs/
 

art22

Client
Регистрация
24.06.2016
Сообщения
508
Благодарностей
78
Баллы
28
Забыл архив прикрепить))
Рабочий код, может кому то нужно будет

C#:
Tab Tab1 = instance.ActiveTab;

// Клик по телефону (кнопка для открытия попапа)
Tab1.FindElementByXPath("//a[contains(@class,'item-phone-button ')]", 0).Click();

// Ждём появления изображения с номером телефона
HtmlElement elPhoneNumber = null;
for(int i = 0; i < 50; i++)
{
    // Новый XPath для поиска img с data-marker="phone-popup/phone-image"
    elPhoneNumber = Tab1.FindElementByXPath("//img[@data-marker='phone-popup/phone-image']", 0);
    
    if (!elPhoneNumber.IsVoid)
        break;
        
    Thread.Sleep(250);
}

// Проверяем, найден ли элемент
if (elPhoneNumber.IsVoid)
{
    project.SendErrorToLog("Не удалось найти изображение с номером телефона");
    return "fail";
}

// Распознаём картинку с номером телефона
using (var api = OcrApi.Create())
{
    api.Init(Languages.English); // задаём язык распознавания
    
    // Получаем текст с изображения
    string plainText = api.GetTextFromImage(elPhoneNumber.DrawAsBitmap(true));
    
    // Очищаем результат от лишних символов (оставляем только цифры)
    string phoneNumber = new string(plainText.Where(char.IsDigit).ToArray());
    
    // Добавляем номер в свою переменную
    project.Variables["phone"].Value = phoneNumber;
    
    project.SendInfoToLog("Распознанный номер: " + phoneNumber);
}

return "ok"; // сообщаем об успешном распознавании
Пример https://www.avito.ru/sankt-peterburg/kvartiry/3-k._kvartira_79_m_225_et._7854790916
 
Последнее редактирование:
  • Спасибо
Реакции: one и Alex.A

one

Client
Регистрация
22.09.2015
Сообщения
6 983
Благодарностей
1 304
Баллы
113

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