1 (edited by sibprogsistem 2019-02-10 21:49:07)

Topic: WebBrowser

только у меня все так плохо или у всех?
http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=5066&download=0

Post's attachments

Attachment icon Image 2.jpg 126.01 kb, 6 downloads since 2019-02-10 

Re: WebBrowser

У меня все в порядке,  а какой точно сайт пытаетесь открыть?

Dmitry.

3 (edited by sibprogsistem 2019-02-11 18:30:57)

Re: WebBrowser

DriveSoft wrote:

У меня все в порядке,  а какой точно сайт пытаетесь открыть?

google.ru-- ЕЩЕ ... пробовал и на других сайтах такое ощущение будто  провет из прошлого... завтра попробую на другом ПК, отпишусь
а вот так сам googlе выглядит
http://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=5076&download=0

Post's attachments

Attachment icon egt.jpg 274.33 kb, 8 downloads since 2019-02-11 

Re: WebBrowser

Ну в общем попробовал на других ПК под разными версиями windiws, все тоже самое...
может в скрипте, что-то не так

procedure frmWeb_OnShow (Sender: TObject; Action: string);
var
web:TWebBrowser;
begin
    Web := TWebBrowser.Create(frmWebSMS);
    TWinControl(Web).Parent := frmWebSMS.Panel1;
    Web.Align := alClient;
    Web.Silent := 1;
    web.Navigate('http://www.google.ru');
    frmWebSMS.Caption:=Opennameweb;
end;

Re: WebBrowser

Действительно есть такая проблема, связана с тем, что по умолчанию компонент TWebBrowser работает как IE7, это можно изменить записав необходимый ключ в реестре, чтобы переключиться на эмуляцию IE10 или IE11 для вашего приложения, решение:


var
    Web: TWebBrowser;


procedure Form1_OnShow (Sender: string; Action: string);
var
    reg : TRegistry;
begin
    // https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)
    reg:= TRegistry.Create;
    try
        reg.Access := KEY_ALL_ACCESS;
        reg.RootKey:= HKEY_CURRENT_USER;
        if reg.OpenKey('Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION', True) then
        begin
            if not reg.ValueExists(ExtractFileName(Application.ExeName)) then
                reg.WriteInteger(ExtractFileName(Application.ExeName), 11000); // 10001 - IE10,  11000 - IE11  https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)
        end;
        reg.CloseKey;
    finally
        reg.Free;
    end;

    Web := TWebBrowser.Create(Form1);
    TWinControl(Web).Parent := Form1.Panel1;
    Web.Align := alClient;
    Web.Width := Form1.Width;
    Web.Height := Form1.Height-50;
    Web.Silent := 1;
end;
Dmitry.

Re: WebBrowser

А как то можно прописать логин  и пароль для каждого конкретного веба? допустим их на форме сразу 2. Panel1 и Panel2. Они настроены оба уже на нужный сайт, но 1 логинется в свой аккаунт, а второй в свой.

7 (edited by sibprogsistem 2019-02-16 20:32:15)

Re: WebBrowser

agatlogic101 wrote:

А как то можно прописать логин  и пароль для каждого конкретного веба? допустим их на форме сразу 2. Panel1 и Panel2. Они настроены оба уже на нужный сайт, но 1 логинется в свой аккаунт, а второй в свой.

var
    s:string;
    Web: TWebBrowser;


procedure BrowserShow ( Action: string);
var
    reg : TRegistry;
begin
    // https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)
    reg:= TRegistry.Create;
    try
        reg.Access := KEY_ALL_ACCESS;
        reg.RootKey:= HKEY_CURRENT_USER;
        if reg.OpenKey('Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION', True) then
        begin
            if not reg.ValueExists(ExtractFileName(Application.ExeName)) then
                reg.WriteInteger(ExtractFileName(Application.ExeName), 11000); // 10001 - IE10,  11000 - IE11  https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/general-info/ee330730(v=vs.85)
        end;
        reg.CloseKey;
    finally
        reg.Free;
    end;

    Web := TWebBrowser.Create(Form1);
    TWinControl(Web).Parent := Form1.Panel1;
    Web.Align := alClient;
    Web.Width := Form1.Width;
    Web.Height := Form1.Height-50;
    Web.Silent := 1;
    web.Navigate(Action);
end;


begin
s:=InputBox('Введите пороль от сети','Пароль','');
if s='1' then BrowserShow ('http://www.google.ru') else
if s='2' then BrowserShow ('http://www.mail.ru');
end.

вот эту часть переделайте под себя

s:=InputBox('Введите пороль от сети','Пароль','');
if s='1' then BrowserShow ('http://www.google.ru') else
if s='2' then BrowserShow ('http://www.mail.ru');

Re: WebBrowser

Интересный способ, но совершенно не тот. Вопрос не о выборе сайтов, сайт один. Пусть тот же гугл. Вопрос есть ли возможность что бы уже был логин и пароль для каждого отдельного окна браузера где то прописанна, на одной форме. То есть ты открываешь форму, на ней 2 панели под страничку, и каждая страничка уже залогированна в свой аккаунт на одном сайте

Re: WebBrowser

agatlogic101 wrote:

А как то можно прописать логин  и пароль для каждого конкретного веба? допустим их на форме сразу 2. Panel1 и Panel2. Они настроены оба уже на нужный сайт, но 1 логинется в свой аккаунт, а второй в свой.

DriveSoft wrote:

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');

Re: WebBrowser

а как нажать на кнопку?

<input type="submit" value="Отправить" class="wpcf7-form-control wpcf7-submit">

input type="submit"

Re: WebBrowser

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


Пример:

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
    if Web.ClickElement('input', 'Отправить') then ShowMessage('found and clicked');
end;
Dmitry.