Полезная информация

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№112-08-2007 14:11:17

lexesv
Участник
 
Группа: Members
Зарегистрирован: 11-08-2007
Сообщений: 4
UA: Opera 9.2
Веб-сайт

Управление браузером на PHP/XUL?

Здравствуйте, есть очень наболевший вопрос, который пытаюсь решить вот уже больше месяца.

Есть класс для управления IE из PHP приложения на локальной машине.
Проблема в том, что он не видит большинство форм для автозаполнения.

Перерыл кучу документации пытаясь сделать чтото подобное в связке XUL+php.

Или вообще возможно ли такое сделать в ксуле и как.

Нужно автозаполнение форм, причём поэтапное. Сначала приложение выполняет регистрацию на сайте, потом идёт в аккаунт, после чего заполняет нужные формы, загружает картинки и выходит из аккаунта. После чего КУКИ должны удаляться.

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



Пример класса на ПХП (работает локально под виндой)

Выделить код

Код:

//class 
class MechanizeIE {
    var $ie = NULL;
    
    

function StartIE() {
    $this->ie = new COM("InternetExplorer.Application")
                or die("Unable to start IE");

    /* set the co-ordiantes
       for the IE window */
    $this->ie->left = 400;
    $this->ie->top  = 0;
    $this->ie->width  = 600;
    $this->ie->height = 400;

    /* turn off all toolbars */
    $this->ie->menubar   = 1;
    $this->ie->toolbar   = 1;
    $this->ie->statusbar = 1;

    /* make IE visible */
    $this->ie->visible = 1;
}


function navigateIE ($url) {
    $this->ie->navigate($url);
    $this->wait_while_busy();
}





function setformIE ($textbox, $value) {
  $index = 0;
  $cnt   = 0;
  $doc   = $this->ie->Document;
  $forms = $doc->forms;

  for($i = 0; $i < $forms->length; $i++) {
    $form = $forms->item($i);

    for($j = 0; $j < $form->elements->all->length; $j++)
    {
      $e_name = $form->elements->all{$j}
                     ->getAttribute("name");

      if($e_name == $textbox) {
        if($index == $cnt) {
          $form->elements->all{$j}->{value} = $value;
          return;
        } else {$cnt++;}
      }
    }
  }
  print "could not find form element : " . $textbox . "\n";
}



function pushbuttonIE ($button) {
  $index = 0;
  $cnt   = 0;
  $doc   = $this->ie->Document;
  $forms = $doc->forms;

  for($i = 0; $i < $forms->length; $i++) {
   $form = $forms->item($i);

   for($j = 0; $j < $form->elements->all->length; $j++) {
    $e_name = $form->elements->all{$j}
                   ->getAttribute("value");
    $e_type = $form->elements->all{$j}
                   ->getAttribute("type");

    if($e_name == $button and $e_type == submit) {
      if($index == $cnt) {
        $form->elements->all{$j}->click();
        $this->wait_while_busy();
        return;
      } else {$cnt++;}
    }
   }
  }
  print "could not find form button : " . $button . "\n";
}
}





//main script
include 'classMechanizeIE.php';

$myIE = &New MechanizeIE;


$myIE->StartIE();
$myIE->navigateIE('mysite.com');


$myIE->setformIE('username', 'user');
$myIE->setformIE('password', 'pass');


$myIE->pushbuttonIE('Login');

Отсутствует

 

№213-08-2007 11:21:16

lexesv
Участник
 
Группа: Members
Зарегистрирован: 11-08-2007
Сообщений: 4
UA: Opera 9.2
Веб-сайт

Re: Управление браузером на PHP/XUL?

И все молчат... :(

Такое уже не на одном форуме происходит.

Что все знают только как кнопочки для ФФ в XUL-e делать? :)

Отсутствует

 

№313-08-2007 13:02:32

vladmir
SeaMonkey - вот это браузер
 
Группа: Extensions
Откуда: НН
Зарегистрирован: 16-10-2004
Сообщений: 4630
UA: Seamonkey 1.1

Re: Управление браузером на PHP/XUL?

lexesv

И все молчат... :(

Дык лето ещё - народ отдыхает. А некоторые не каждый день сюда заходят.

Что все знают только как кнопочки для ФФ в XUL-e делать? :)

Не, не все.-)
А что делать, если большинство только вопросы задаёт, а само ни фига не пишет инструкции по.

Отсутствует

 

№413-08-2007 13:08:44

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: Управление браузером на PHP/XUL?

Перерыл кучу документации пытаясь сделать чтото подобное в связке XUL+php.

на xul бессмысленно использовать вне chrome. забавно было бы поглядеть на то, чего вы пытались делать ;)

Пример класса на ПХП

насколько я понял, тут используются технологии .NET. читайте/ищите маны. сомневаюсь, что вам тут кто-то поможет с данным вопросом.

работает локально под виндой

на xpcom нужно использовать, а не на php...

Отсутствует

 

№513-08-2007 13:11:42

arka
Участник
 
Группа: Members
Зарегистрирован: 10-08-2005
Сообщений: 183
UA: Firefox 2.0
Веб-сайт

Re: Управление браузером на PHP/XUL?

Каша какая-то. Зачем для загрузки страниц, отправки форм и т.д., имея PHP, использовать браузер?

Отсутствует

 

№613-08-2007 13:55:14

lexesv
Участник
 
Группа: Members
Зарегистрирован: 11-08-2007
Сообщений: 4
UA: Opera 9.2
Веб-сайт

Re: Управление браузером на PHP/XUL?

на xpcom нужно использовать, а не на php

Да я и рад бы, но хотяб один пример можно увидеть, а то самих манов маловато, особенно если никогда на XUL не программировал. Вот на ПХП могу много чего написать, но ПХП как известно серверный язык, а тут вот пришлось столкнуться с такой вот задачей.

В общем вопрос немного перефразирую:
function setformIE ($textbox, $value) как написать её аналог для XUL?

а по поводу

Перерыл кучу документации пытаясь сделать чтото подобное в связке XUL+php.

на xul бессмысленно использовать вне chrome. забавно было бы поглядеть на то, чего вы пытались делать

вот
http://www.moztips.com/wiki/index.pcgi?page=XulPhpMySQL
http://www.phphacks.com/content/view/52/33/

Отредактировано lexesv (13-08-2007 14:02:10)

Отсутствует

 

№713-08-2007 14:03:05

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: Управление браузером на PHP/XUL?

lexesv пишет

В общем вопрос немного перефразирую:
function setformIE ($textbox, $value) как написать её аналог для XUL?

на xul пишется полько интерфейс. сам код обычно пишется на js.
вообще, хороший вопрос ;)
http://developer.mozilla.org/

Added Пнд 13 Авг 2007 14:04:58 :

вот
http://www.moztips.com/wiki/index.pcgi?page=XulPhpMySQL
http://www.phphacks.com/content/view/52/33/

угу. внизу смотрели? :)

Отсутствует

 

№813-08-2007 14:17:00

lexesv
Участник
 
Группа: Members
Зарегистрирован: 11-08-2007
Сообщений: 4
UA: Opera 9.2
Веб-сайт

Re: Управление браузером на PHP/XUL?

угу. внизу смотрели?

Смотрел, там написано, что нужно через JS

НО http://www.phppatterns.com/docs/develop/xul_to_phpgtk

и вот такое

Выделить код

Код:

<script type="application/x-php"
        src="c:htdocsxul2gtkfunctions.php" />

Отсутствует

 

№917-08-2007 03:27:04

Vednier
Участник
 
Группа: Members
Откуда: В ауте
Зарегистрирован: 23-11-2006
Сообщений: 1430
UA: Minefield 3.0

Re: Управление браузером на PHP/XUL?

Помоему тут речь идет о Луксоре, алтернативной реализации XUL (не связанно с Мозилла)
советую посетить http://xul.sourceforge.net/ и http://luxordev.com/ для деталей.


Свобода только тут - mozilla@conference.jabber.ru

Отсутствует

 

№1005-09-2007 15:51:43

HeiHeShang
Участник
 
Группа: Members
Зарегистрирован: 04-09-2007
Сообщений: 23
UA: Firefox 2.0

Re: Управление браузером на PHP/XUL?

Очень все легко пишется, достаточно установить в PHP вывод заголовка XUL

Выделить код

Код:

<?php header( "Content-type: application/vnd.mozilla.xul+xml" ); ?>

и потом пиши все на пхп а выводи через echo XUL'кий код.

Отсутствует

 

№1105-09-2007 16:01:19

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785

Re: Управление браузером на PHP/XUL?

HeiHeShang
интересно, вы первый пост читали?

Отсутствует

 

№1205-09-2007 16:53:45

HeiHeShang
Участник
 
Группа: Members
Зарегистрирован: 04-09-2007
Сообщений: 23
UA: Firefox 2.0

Re: Управление браузером на PHP/XUL?

Конечно читал. Можно ли сделать, отвечаю можно. Достаточно установить заголовок и писать код так же как и писал на пхп до этого.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]