Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.06.2011, 11:29
Новичок на форуме
Отправить личное сообщение для compasses Посмотреть профиль Найти все сообщения от compasses
 
Регистрация: 02.06.2011
Сообщений: 3

Открыть все ссылки
Здравствуйте!

На странице присутствует около 600 ссылок. Выглядит это так:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<body>

<a href="http://01e.ru" target="_blank">http://01e.ru</a><br />
<a href="http://1.auto-marksa30.ru" target="_blank">http://1.auto-marksa30.ru</a><br />
<a href="http://1naraione.ru" target="_blank">http://1naraione.ru</a><br />
<a href="http://1pks.ru" target="_blank">http://1pks.ru</a><br />
<a href="http://1ry.ru" target="_blank">http://1ry.ru</a><br />
<a href="http://1tehnion.ru" target="_blank">http://1tehnion.ru</a><br />
...


Как мне сделать, чтобы javascript собрал все ссылки и перешел по ним?
Я пытаюсь сделать так:
{

    var i,l = document.links;
    for(i = 0 ; i < l.lenght ; i++){
        l[i].onClick
    }
}


На что выдается ошибка:
[error] Unexpected Exception: message -> l is undefined
Причем ругается на for(i = 0 ; i < l.lenght ; i++)
Что ему надо?
З.Ы. Эту функцию я интегрирую в selenium, но так как он полностью на javascript, то думаю не в этом дело. Подскажите пожалуйста кто знает?
Ответить с цитированием
  #2 (permalink)  
Старый 02.06.2011, 11:40
Новичок на форуме
Отправить личное сообщение для compasses Посмотреть профиль Найти все сообщения от compasses
 
Регистрация: 02.06.2011
Сообщений: 3

Или я вообще не правильно пишу и такой код не откроет все ссылки на сайте?
Ответить с цитированием
  #3 (permalink)  
Старый 03.06.2011, 14:43
Новичок на форуме
Отправить личное сообщение для compasses Посмотреть профиль Найти все сообщения от compasses
 
Регистрация: 02.06.2011
Сообщений: 3

Разобрался. Сделал. Если кому надо будет:
Selenium.prototype.doAllLinks = function( locate ) {

    wnd=open(locate, "displayWindow", "width=500,height=400,status=yes,toolbar=yes,menubar=yes");
    alert("Find all links and click them");
    for (var i = 0; i < wnd.document.links.length; i++) {
          getTopWin().getBrowser().addTab(wnd.document.links[i]);  
	}
}

function getTopWin ()
{
    var windowManager = Components. classes ['@mozilla.org/appshell/window-mediator;1']. getService();
    var windowManagerInterface = windowManager.
                                 QueryInterface (Components. interfaces. nsIWindowMediator);
    var topWindowOfType = windowManagerInterface. getMostRecentWindow ("navigator:browser");
    
    if (topWindowOfType)
    {
        return topWindowOfType;
    }
    return null;
}


Вопрос возник:
wnd=open(locate, "displayWindow", "width=500,height=400,status=yes,toolbar=yes,menubar=yes");
    alert("Find all links and click them");
    for (var i = 0; i < wnd.document.links.length; i++) {

Если убрать строку
alert("Find all links and click them");

То страница не успевает загрузиться и wnd.document.links.length = 0;
Есть ли более красивый способ подождать? Читал про setTimeout и setInterval - они не подходят, так как все это управляется под selenium, а селениум некоторые js функции не всегда адекватно воспринимает.

Последний раз редактировалось compasses, 03.06.2011 в 14:49.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
нажать на все ссылки одним кликом Abraham jQuery 13 01.06.2011 17:14
Название ячейки таблицы Questioner Общие вопросы Javascript 6 16.02.2011 09:58
# a влияет на все ссылки Артем125 (X)HTML/CSS 2 17.07.2010 23:33
Перечислить все ссылки документа Esprit Events/DOM/Window 2 12.05.2010 11:41
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37