Клик по ссылке, которая начинается с определенного символа
Клик по ссылке, которая начинается с определенного символа
Здравствуйте. У меня один мелкий вопрос. Я хочу кликнуть по случайной ссылке на сайте, начинающейся со слеша, например "/news", "/register" и т.д. Сделал презентацию из одной команды клик: <set(search=regexp)>a;link;/^\/.+/i;-1, но при тестировании пишет, что не найдено ни одно совпадение. Возможно я что-то напутал в регулярном выражении. Не могли бы вы поправить или предложить другой более простой вариант (если такой есть) для моего варианта?
Re: Клик по ссылке, которая начинается с определенного симво
Код: Выделить всё
var a = location;
var a = a.toString();
var b = a.match('/^\/.+/i');
alert(b)
Re: Клик по ссылке, которая начинается с определенного симво
Хм, то что мой вариант не работает я и сам в курсе. Я спрашивал о том, не может ли здесь кто-то подсказать что нужно исправить?
^ - начало входных данных
\/ - экранируем слеш
.+ любой символ повторенный 1 и более раз
все это обрамляем в // (как в инструкции написано) и использую флаг i (регистр не важен, но здесь это по идее ни на что не влияет)
то есть ищу ссылки у которых href строго начинается с /, а далее какие-то любые символы.
^ - начало входных данных
\/ - экранируем слеш
.+ любой символ повторенный 1 и более раз
все это обрамляем в // (как в инструкции написано) и использую флаг i (регистр не важен, но здесь это по идее ни на что не влияет)
то есть ищу ссылки у которых href строго начинается с /, а далее какие-то любые символы.
Re: Клик по ссылке, которая начинается с определенного симво
Кстати, в том же файрбаге
возвращает /news, как мне и надо
возвращает null, тоже корректно
Код: Выделить всё
str = "/news";
re = /^\/.+/i;
found = str.match(re);
alert(found);
Код: Выделить всё
str = "localhost/news";
re = /^\/.+/i;
found = str.match(re);
alert(found);
Re: Клик по ссылке, которая начинается с определенного симво
во-первых, если ссылка
то если в кавычках, то так
без них
по отношению к джету зависит от реализации в программе, если там ссылка получается как
то надо в регулярке писать и протокол и домен, а если ссылка получается так
то видимо так /.+
Но проще загрузить jQuery и сделать так
Код: Выделить всё
<a id="test" href="/memberlist.php?mode=viewprofile&u=11083">dgusarov</a>
Код: Выделить всё
document.getElementById('test').getAttribute('href').match('^/.+')
Код: Выделить всё
document.getElementById('test').getAttribute('href').match(/^\/.+/)
Код: Выделить всё
a.href
Код: Выделить всё
a.getAttribute('href')
Но проще загрузить jQuery и сделать так
Код: Выделить всё
$('a[href^=\\/]').eq(Math.floor(Math.random() * $('a[href^=\\/]').length)).click()
Re: Клик по ссылке, которая начинается с определенного симво
Если кому интересно, то проблема решилась указанием протокола, домена и слеша с экранированием всех точек и слешей. Вообщем, неочевидная для меня была вещь. Господину promot спасибо за наводку.