Заполнение полей (input)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by dvoryakanton, 17 Sep 2012.

  1. dvoryakanton

    dvoryakanton New Member

    Joined:
    3 Mar 2012
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Пишу парсер информации по аккаунту origin, нашёл простейший код по webbrowser, до парсинга инфы так и дело не дошло, в ступор на авторизации. Если заполнить поля, допустим на сайте маил ру, всё выходит и заходит, если же поменять ссылку и импуты из исходного кода страницы авторизации https://www.origin.com/ru/login то ничего не происходит. В чём может быть причина? Спасибо!


    unit Unit2;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, StdCtrls, OleCtrls, SHDocVw;

    type
    TForm2 = class(TForm)
    WebBrowser1: TWebBrowser;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

    var
    Form2: TForm2;

    implementation

    {$R *.dfm}

    procedure TForm2.Button1Click(Sender: TObject);
    begin
    webbrowser1.Navigate('https://www.origin.com/ru/login');
    end;

    procedure TForm2.Button2Click(Sender: TObject);
    var
    html_taglevariant;
    i:integer;
    s:string;
    begin
    html_tag:=WebBrowser1.oleObject.Doc ument.forms.item(0).elements;
    for i:=0 to (html_tag.length -1) do
    begin

    if (html_tag.item(i).name = 'oauthbasiclogin') then
    html_tag.item(i).value:='почта от акка';

    if (html_tag.item(i).name = 'oauthbasiclogin[password]') then
    html_tag.item(i).value:='пароль от акка';

    if (html_tag.item(i).value='Вход') then
    html_tag.item(i).click;





    end;




    end;

    end.
     
  2. Kandi

    Kandi Member

    Joined:
    18 Nov 2009
    Messages:
    344
    Likes Received:
    17
    Reputations:
    0
    Во-первых нужно код обрамлять BB кодами
    Code:
    ...
    Во-вторых, неужели проще пользоваться WebBrowser чем Indy? Дело конечно не моё.

    Воспользовавшись отладочной информацией понятно только то, что длина form - html_tag.length - равна нулю!!! Что мне делать скажите Вы. Ответ прост - HTTPAnalyzer + Indy запросы POST и GET в помощь) На мой взгляд это будет работать быстрее в 10 раз чем TWebBrowser.... Вот небольшой пост, не совсем по теме, но можно немного уловить суть и принцип ... а дальше по нарастающей - http://forum.antichat.ru/showpost.php?p=3280664&postcount=10

    Вот еще http://forum.antichat.ru/showpost.php?p=3276933&postcount=138
     
    #2 Kandi, 21 Sep 2012
    Last edited: 21 Sep 2012