>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Управление браузером на PHP/XUL? http://forum.mozilla-russia.org/viewtopic.php?id=18499 |
lexesv > 12-08-2007 14:11:17 |
Здравствуйте, есть очень наболевший вопрос, который пытаюсь решить вот уже больше месяца. Есть класс для управления 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'); |
lexesv > 13-08-2007 11:21:16 |
И все молчат... Такое уже не на одном форуме происходит. Что все знают только как кнопочки для ФФ в XUL-e делать? |
vladmir > 13-08-2007 13:02:32 |
lexesv
Дык лето ещё - народ отдыхает. А некоторые не каждый день сюда заходят.
Не, не все.-) |
Shutnik > 13-08-2007 13:08:44 |
на xul бессмысленно использовать вне chrome. забавно было бы поглядеть на то, чего вы пытались делать
насколько я понял, тут используются технологии .NET. читайте/ищите маны. сомневаюсь, что вам тут кто-то поможет с данным вопросом.
на xpcom нужно использовать, а не на php... |
arka > 13-08-2007 13:11:42 |
Каша какая-то. Зачем для загрузки страниц, отправки форм и т.д., имея PHP, использовать браузер? |
lexesv > 13-08-2007 13:55:14 |
Да я и рад бы, но хотяб один пример можно увидеть, а то самих манов маловато, особенно если никогда на XUL не программировал. Вот на ПХП могу много чего написать, но ПХП как известно серверный язык, а тут вот пришлось столкнуться с такой вот задачей. В общем вопрос немного перефразирую: а по поводу
вот |
Shutnik > 13-08-2007 14:03:05 |
lexesv пишет
на xul пишется полько интерфейс. сам код обычно пишется на js. Added Пнд 13 Авг 2007 14:04:58 :
угу. внизу смотрели? |
lexesv > 13-08-2007 14:17:00 |
Смотрел, там написано, что нужно через JS НО http://www.phppatterns.com/docs/develop/xul_to_phpgtk и вот такое |
Vednier > 17-08-2007 03:27:04 |
Помоему тут речь идет о Луксоре, алтернативной реализации XUL (не связанно с Мозилла) |
HeiHeShang > 05-09-2007 15:51:43 |
Очень все легко пишется, достаточно установить в PHP вывод заголовка XUL и потом пиши все на пхп а выводи через echo XUL'кий код. |
Shutnik > 05-09-2007 16:01:19 |
HeiHeShang |
HeiHeShang > 05-09-2007 16:53:45 |
Конечно читал. Можно ли сделать, отвечаю можно. Достаточно установить заголовок и писать код так же как и писал на пхп до этого. |