Как прочитать все ссылки на сайте
#1
Отправлено 28 июля 2011 - 08:16
#2
Отправлено 28 июля 2011 - 09:48
Кроме проверки ссылок на валидность он составляет и карту сайта со всеми ссылками.
#3
Отправлено 28 июля 2011 - 09:54
#4
Отправлено 28 июля 2011 - 11:45
а на отдельно взятой страничке это можно сделать вот так:
String Attribute; String[] links = sel.getAllLinks(); // Ищем все ссылки на странице, их почему-то на 1 меньше int link_num = links.length-1; for (int i = 0; i < link_num; i++) { try{ Attribute=sel.getAttribute(nameLink1 + "@href" ); // ищем ссылку } catch (Exception e1) { continue; } ... }
#5
Отправлено 28 июля 2011 - 12:10
спасибо, но не могу разобраться с кодомкак на сайте прочитать вам ответили выше,
а на отдельно взятой страничке это можно сделать вот так:String Attribute; String[] links = sel.getAllLinks(); // Ищем все ссылки на странице, их почему-то на 1 меньше int link_num = links.length-1; for (int i = 0; i < link_num; i++) { try{ Attribute=sel.getAttribute(nameLink1 + "@href" ); // ищем ссылку } catch (Exception e1) { continue; } ... }
1. Получаем ID всех ссылок
2. Делаем переменную на 1 меньше, чем количество ссылок
3. Создаём перебор
4. Attribute=sel.getAttribute(nameLink1 + "@href" ); а этого я не понял
#6
Отправлено 28 июля 2011 - 12:42
спасибо, но не могу разобраться с кодом
как на сайте прочитать вам ответили выше,
а на отдельно взятой страничке это можно сделать вот так:String Attribute; String[] links = sel.getAllLinks(); // Ищем все ссылки на странице, их почему-то на 1 меньше int link_num = links.length-1; for (int i = 0; i < link_num; i++) { try{ Attribute=sel.getAttribute(nameLink1 + "@href" ); // ищем ссылку } catch (Exception e1) { continue; } ... }
1. Получаем ID всех ссылок
2. Делаем переменную на 1 меньше, чем количество ссылок
3. Создаём перебор
4. Attribute=sel.getAttribute(nameLink1 + "@href" ); а этого я не понял
int link_num = links.length-1;- ээм.. вот это делать в данном случае не нужно, т.к. далее неравенство у нас строгое:
for (int i = 0; i < link_num; i++)и последняя ссылка в таком случае не будет сохранена.
Attribute=sel.getAttribute(nameLink1 + "@href" );- вместо nameLink1, подозреваю, должно быть links[i]
ну и сохраняем все это хозяйство куда-нибудь сразу же: на страницу пишем или в базу вставляем.
#7
Отправлено 28 июля 2011 - 12:56
links1 = selenium.getAllLinks().length; String[] links2=selenium.getAllLinks(); for (int i = 0; i < links1; i++) { h = selenium.getAttribute(links2[i] + "@href"); System.out.println(h); }на 7й ссылке вываливается, не может найти элемент, у вас так же?
#8
Отправлено 28 июля 2011 - 12:59
я код не проверяю.. мне нечем :)взял http://www.google.com.ua/, сделал
links1 = selenium.getAllLinks().length; String[] links2=selenium.getAllLinks(); for (int i = 0; i < links1; i++) { h = selenium.getAttribute(links2[i] + "@href"); System.out.println(h); }на 7й ссылке вываливается, не может найти элемент, у вас так же?
7-я ссылка - это "ещё"?
#9
Отправлено 28 июля 2011 - 13:00
я код не проверяю.. мне нечем :)
7-я ссылка - это "ещё"?
там около 25 их
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных