Re: TWebBrowser

DriveSoft wrote:

после того как кликнули, поставьте паузу таким образом

Такой маленький скриптик...и проблемка РЕШЕНА!!!
Спасибочки Вам Дмитрий!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
микро вопрос:
Благодаря парсингу имеем:

var
LIST: String;
=========|| ПАРСИНГ||============
LIST := Trim(LIST);
?????????????????????????????????
Form5.Memo1.Text:= (LIST);

В Memo1 получились такие записи:
Всем привет!!!<BR>Хочу пожелать  форумчанам<BR>Хорошего настроения!!!
-----------------------------А хотелось бы так -------------------------------------------------------
Всем привет!!!
Хочу пожелать  форумчанам
Хорошего настроения!!!
Есть способ реализовать это????(если "<BR>"  есть, тогда ?????, если нет то???)

Re: TWebBrowser

RZ-007
Так можно заменить текст <BR> на знак переноса строки

Form5.Memo1.Text:= ReplaceStr(Form5.Memo1.Text, '<BR>', #13#10);
Dmitry.

28 (edited by RZ-007 2016-12-13 08:46:51)

Re: TWebBrowser

Спасибочки!!!
Дмитрий!!!...То что сейчас вытворяет TWebBrowser, просто волшебная палочка в умелых руках
и всё же появились микро вопросики...для полного счастья...
1)  бегаем в TWebBrowser....
Возможно отображать адрес странички, которая находиться на данный момент в TWebBrowser
минимум Edit...максимум в ComboBox???
2) по Гуглил тему как очисть:
- очистить историю просмотров
- Файлы, сохранённые в кеше
- файлы cookie и другие данные сайтов и модулей
и т. д.
те скрипты которые, нашёл в примерах  делфи применить не получилось!!!
Вопрос: У нас в MVD возможно по клику на Button очисть "всё-при ВСЁ" в TWebBrowser,
не перезапуская программу???????????????????????????????????????????????????
3) в MVD по клику на Button данные из Edit передать в Edit-ы странички, которые расположены в TWebBrowser???
рис.прилагается!

Post's attachments

Attachment icon Скриншот 13-12-2016 105923.png 169.89 kb, 267 downloads since 2016-12-13 

Re: TWebBrowser

RZ-007


Скачайте доработанную версию
https://www.dropbox.com/s/1y0jek64gzfdy … a.zip?dl=0



1. Пока возможно получить его только по нажатию кнопки, автоматически пока нельзя.

procedure Form1_Button1_OnClick (Sender: string; var Cancel: boolean);
begin
     Form1.edURL.Text := Web.LocationURL;
end;

2. Пока нет такой возможности.


3. Добавил методы, которые позволяют заполнять элементы на форме, находя их по id или name, примеры

    Web.FillElementByName('fd1', 'test');   // заполнение текстового поля
    Web.FillElementByID('qjump-select', '4'); // выбираем 4 элемент из списка
    Web.FillElementByID('fld3', '1'); // установка галочки в CheckBox

    Web.FillElementByName('req_username', 'test');
    Web.FillElementByName('qjump-select', '4');
    Web.FillElementByName('checkboxname', '1');
Dmitry.

Re: TWebBrowser

Это просто потрясающе!! Будем ждать автоматического отображения адреса в Edit

31 (edited by RZ-007 2017-01-26 00:05:37)

Re: TWebBrowser

Дмитрий такая ситуация...есть скрипт для перехвата системной ошибки:

procedure Form5_Button4_OnClick (Sender: string; var Cancel: boolean);
var
   LIST : TStringList;
    URL : String;
begin
    try
      URL:='https://www.avito.ru/rossiya/sobaki/rotveyler?p=1';
      LIST := TStringList.Create;
      LIST.Add(HTTPGet(URL,True)); 
    except
    // проверка при подключении...
        if ExceptionMessage <> 'HTTP/1.1 404 Not Found' then  ShowMessage(' НЕТ ИНТЕРНЕТА!!!');
    end;
    Form1.Memo1.Text:= (LIST.Text); 
    LIST.Free;
    Form5.Button3.Click;  //продолжаем действие
end;

И это РАБОТАЕТ НА УРА!!!
ВОПРОС:   ПОМОГИТЕ ВСТАВИТЬ ДЛЯ ПЕРЕХВАТА СИСТЕМНОЙ ОШИБКИ СЮДА:

 procedure Form1_Button30_OnClick (Sender: string; var Cancel: boolean);
var
    URL: string;
  sHTML: string;
begin
           Form1.Edit11.Text:= Form1.Memo2.Lines[0];

           Web.Navigate(Form1.Edit11.Text);

         while Web.ReadyState <> 4 do Application.ProcessMessages;
   if    Web.ClickElement('span', 'Показать номер')  then //ShowMessage('нашли номер телефона');

          Sleep(3000);
          Application.ProcessMessages;
begin
          while Web.ReadyState <> 4 do Application.ProcessMessages;

          Sleep(4000);
          Application.ProcessMessages;

          sHTML := Web.GetHTMLBody;
          sHTML:=Trim(sHTML);
 
            Form1.Memo1.Lines.Add (sHTML);
          Form1.Button31.Click ;   //продолжаем действие
end; end;

Зарание БЛАГОДАРЕН ВАМ!!!

Re: TWebBrowser

Дмитрий не могли бы Вы взглянуть пост выше № 31

Re: TWebBrowser

RZ-007
Перехват каких именно ошибок вы имеете ввиду со вторым примером?

Dmitry.