Конференция "Основная" » Работа с Web-платформой Olymp Trade
 
  • ухты © (14.02.18 00:55) [16]

    >  В крайнем случае на C#
    тогда все проще, пишите маленькую сборочку, и все дела)
  • ухты © (14.02.18 00:55) [16]

    >  В крайнем случае на C#
    тогда все проще, пишите маленькую сборочку, и все дела)
  • ухты © (14.02.18 00:55) [16]

    >  В крайнем случае на C#
    тогда все проще, пишите маленькую сборочку, и все дела)
  • ухты © (14.02.18 00:55) [16]

    >  В крайнем случае на C#
    тогда все проще, пишите маленькую сборочку, и все дела)
  • TraderProg © (14.02.18 18:47) [17]
    Ура, есть первые успехи! Получилось кликать по необходимым кнопкам. Спасибо, Redmond, за пример кода - именно он мне помог найти верное направление.
    Вот  рабочий код (сама страница цеж ранее загружена в WebBrowser):
    procedure TForm1.Button8Click(Sender: TObject);
    Var  Doc, List, Node: OleVariant;
    Begin
     Doc:=WebBrowser1.Document;
     List:=Doc.querySelectorAll('button');
     Node:=List.item(23);
     //23 - для кнопки "ВВЕРХ", 24 - "ВНИЗ"
     Node.click;
     //23 - вверх, 24 - вниз
    end;

    Коды 23 и 24 нашел методом перебора. Может конечно более "элегантно" как-то их находить без применения кодов 23 и 24 (на случай если веб-страницу изменят авторы), но уж ладно, главное что заработало

    Теперь осталось как-то быстро находить цену, отфильтровав лишнее без полной загрузки всего HTML-кода. Буду теперь думать какой теперь тип использовать, кнопки нашлись по типу "button"
  • TraderProg © (14.02.18 18:47) [17]
    Ура, есть первые успехи! Получилось кликать по необходимым кнопкам. Спасибо, Redmond, за пример кода - именно он мне помог найти верное направление.
    Вот  рабочий код (сама страница цеж ранее загружена в WebBrowser):
    procedure TForm1.Button8Click(Sender: TObject);
    Var  Doc, List, Node: OleVariant;
    Begin
     Doc:=WebBrowser1.Document;
     List:=Doc.querySelectorAll('button');
     Node:=List.item(23);
     //23 - для кнопки "ВВЕРХ", 24 - "ВНИЗ"
     Node.click;
     //23 - вверх, 24 - вниз
    end;

    Коды 23 и 24 нашел методом перебора. Может конечно более "элегантно" как-то их находить без применения кодов 23 и 24 (на случай если веб-страницу изменят авторы), но уж ладно, главное что заработало

    Теперь осталось как-то быстро находить цену, отфильтровав лишнее без полной загрузки всего HTML-кода. Буду теперь думать какой теперь тип использовать, кнопки нашлись по типу "button"
  • TraderProg © (14.02.18 18:47) [17]
    Ура, есть первые успехи! Получилось кликать по необходимым кнопкам. Спасибо, Redmond, за пример кода - именно он мне помог найти верное направление.
    Вот  рабочий код (сама страница цеж ранее загружена в WebBrowser):
    procedure TForm1.Button8Click(Sender: TObject);
    Var  Doc, List, Node: OleVariant;
    Begin
     Doc:=WebBrowser1.Document;
     List:=Doc.querySelectorAll('button');
     Node:=List.item(23);
     //23 - для кнопки "ВВЕРХ", 24 - "ВНИЗ"
     Node.click;
     //23 - вверх, 24 - вниз
    end;

    Коды 23 и 24 нашел методом перебора. Может конечно более "элегантно" как-то их находить без применения кодов 23 и 24 (на случай если веб-страницу изменят авторы), но уж ладно, главное что заработало

    Теперь осталось как-то быстро находить цену, отфильтровав лишнее без полной загрузки всего HTML-кода. Буду теперь думать какой теперь тип использовать, кнопки нашлись по типу "button"
  • TraderProg © (14.02.18 18:47) [17]
    Ура, есть первые успехи! Получилось кликать по необходимым кнопкам. Спасибо, Redmond, за пример кода - именно он мне помог найти верное направление.
    Вот  рабочий код (сама страница цеж ранее загружена в WebBrowser):
    procedure TForm1.Button8Click(Sender: TObject);
    Var  Doc, List, Node: OleVariant;
    Begin
     Doc:=WebBrowser1.Document;
     List:=Doc.querySelectorAll('button');
     Node:=List.item(23);
     //23 - для кнопки "ВВЕРХ", 24 - "ВНИЗ"
     Node.click;
     //23 - вверх, 24 - вниз
    end;

    Коды 23 и 24 нашел методом перебора. Может конечно более "элегантно" как-то их находить без применения кодов 23 и 24 (на случай если веб-страницу изменят авторы), но уж ладно, главное что заработало

    Теперь осталось как-то быстро находить цену, отфильтровав лишнее без полной загрузки всего HTML-кода. Буду теперь думать какой теперь тип использовать, кнопки нашлись по типу "button"
  • TraderProg © (14.02.18 18:47) [17]
    Ура, есть первые успехи! Получилось кликать по необходимым кнопкам. Спасибо, Redmond, за пример кода - именно он мне помог найти верное направление.
    Вот  рабочий код (сама страница цеж ранее загружена в WebBrowser):
    procedure TForm1.Button8Click(Sender: TObject);
    Var  Doc, List, Node: OleVariant;
    Begin
     Doc:=WebBrowser1.Document;
     List:=Doc.querySelectorAll('button');
     Node:=List.item(23);
     //23 - для кнопки "ВВЕРХ", 24 - "ВНИЗ"
     Node.click;
     //23 - вверх, 24 - вниз
    end;

    Коды 23 и 24 нашел методом перебора. Может конечно более "элегантно" как-то их находить без применения кодов 23 и 24 (на случай если веб-страницу изменят авторы), но уж ладно, главное что заработало

    Теперь осталось как-то быстро находить цену, отфильтровав лишнее без полной загрузки всего HTML-кода. Буду теперь думать какой теперь тип использовать, кнопки нашлись по типу "button"
  • TraderProg © (14.02.18 18:47) [17]
    Ура, есть первые успехи! Получилось кликать по необходимым кнопкам. Спасибо, Redmond, за пример кода - именно он мне помог найти верное направление.
    Вот  рабочий код (сама страница цеж ранее загружена в WebBrowser):
    procedure TForm1.Button8Click(Sender: TObject);
    Var  Doc, List, Node: OleVariant;
    Begin
     Doc:=WebBrowser1.Document;
     List:=Doc.querySelectorAll('button');
     Node:=List.item(23);
     //23 - для кнопки "ВВЕРХ", 24 - "ВНИЗ"
     Node.click;
     //23 - вверх, 24 - вниз
    end;

    Коды 23 и 24 нашел методом перебора. Может конечно более "элегантно" как-то их находить без применения кодов 23 и 24 (на случай если веб-страницу изменят авторы), но уж ладно, главное что заработало

    Теперь осталось как-то быстро находить цену, отфильтровав лишнее без полной загрузки всего HTML-кода. Буду теперь думать какой теперь тип использовать, кнопки нашлись по типу "button"
  • TraderProg © (14.02.18 19:00) [18]
    Copy selector для текста с ценой выдает такую иерархию:

    #chart > div > svg > g > g.cutoffG > text
  • TraderProg © (14.02.18 19:00) [18]
    Copy selector для текста с ценой выдает такую иерархию:

    #chart > div > svg > g > g.cutoffG > text
  • TraderProg © (14.02.18 19:00) [18]
    Copy selector для текста с ценой выдает такую иерархию:

    #chart > div > svg > g > g.cutoffG > text
  • TraderProg © (14.02.18 19:00) [18]
    Copy selector для текста с ценой выдает такую иерархию:

    #chart > div > svg > g > g.cutoffG > text
  • TraderProg © (14.02.18 19:00) [18]
    Copy selector для текста с ценой выдает такую иерархию:

    #chart > div > svg > g > g.cutoffG > text
  • TraderProg © (14.02.18 19:00) [18]
    Copy selector для текста с ценой выдает такую иерархию:

    #chart > div > svg > g > g.cutoffG > text
  • TraderProg © (14.02.18 19:25) [19]
    Итак, с ценой тоже вышло по индексу "6". Вот код:

    procedure TForm1.Button8Click(Sender: TObject);
    Var i: Integer; Doc, List, Node: OleVariant;
    Begin
     Doc:=WebBrowser1.Document;
     List:=Doc.querySelectorAll('text');
     Node:=List.item(6);
     Memo1.Lines.Clear;
     Memo1.Lines.Add(Node.innerHTML);
    end;

    Только одно маленькое "НО" осталось: в WebBrowser цена сама меняется - мне программно для этого даже делать ничего не надо. Но как оно происходит? Наверно генерируется какое-то событие и цена в нем обновляется? Если это так то какое это событие?
    Можно конечно повесить таймер и обновлять периодически цену. Но может можно обойтись без этого и обновлять цену в Memo1 лишь тогда, когда она изменяется в WebBrowser? Есть идеи как это сделать?
  • TraderProg © (14.02.18 19:25) [19]
    Итак, с ценой тоже вышло по индексу "6". Вот код:

    procedure TForm1.Button8Click(Sender: TObject);
    Var i: Integer; Doc, List, Node: OleVariant;
    Begin
     Doc:=WebBrowser1.Document;
     List:=Doc.querySelectorAll('text');
     Node:=List.item(6);
     Memo1.Lines.Clear;
     Memo1.Lines.Add(Node.innerHTML);
    end;

    Только одно маленькое "НО" осталось: в WebBrowser цена сама меняется - мне программно для этого даже делать ничего не надо. Но как оно происходит? Наверно генерируется какое-то событие и цена в нем обновляется? Если это так то какое это событие?
    Можно конечно повесить таймер и обновлять периодически цену. Но может можно обойтись без этого и обновлять цену в Memo1 лишь тогда, когда она изменяется в WebBrowser? Есть идеи как это сделать?
  • TraderProg © (14.02.18 19:25) [19]
    Итак, с ценой тоже вышло по индексу "6". Вот код:

    procedure TForm1.Button8Click(Sender: TObject);
    Var i: Integer; Doc, List, Node: OleVariant;
    Begin
     Doc:=WebBrowser1.Document;
     List:=Doc.querySelectorAll('text');
     Node:=List.item(6);
     Memo1.Lines.Clear;
     Memo1.Lines.Add(Node.innerHTML);
    end;

    Только одно маленькое "НО" осталось: в WebBrowser цена сама меняется - мне программно для этого даже делать ничего не надо. Но как оно происходит? Наверно генерируется какое-то событие и цена в нем обновляется? Если это так то какое это событие?
    Можно конечно повесить таймер и обновлять периодически цену. Но может можно обойтись без этого и обновлять цену в Memo1 лишь тогда, когда она изменяется в WebBrowser? Есть идеи как это сделать?
  • TraderProg © (14.02.18 19:25) [19]
    Итак, с ценой тоже вышло по индексу "6". Вот код:

    procedure TForm1.Button8Click(Sender: TObject);
    Var i: Integer; Doc, List, Node: OleVariant;
    Begin
     Doc:=WebBrowser1.Document;
     List:=Doc.querySelectorAll('text');
     Node:=List.item(6);
     Memo1.Lines.Clear;
     Memo1.Lines.Add(Node.innerHTML);
    end;

    Только одно маленькое "НО" осталось: в WebBrowser цена сама меняется - мне программно для этого даже делать ничего не надо. Но как оно происходит? Наверно генерируется какое-то событие и цена в нем обновляется? Если это так то какое это событие?
    Можно конечно повесить таймер и обновлять периодически цену. Но может можно обойтись без этого и обновлять цену в Memo1 лишь тогда, когда она изменяется в WebBrowser? Есть идеи как это сделать?
 
Конференция "Основная" » Работа с Web-платформой Olymp Trade
Есть новые Нет новых   [118438   +23][b:0.001][p:0.001]