Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.02.2015, 00:53
Новичок на форуме
Отправить личное сообщение для NoobJs Посмотреть профиль Найти все сообщения от NoobJs
 
Регистрация: 23.07.2014
Сообщений: 7

Найти и кликнуть по ссылке.
Всем привет. В общем есть исходный код страницы:
...
<a href="1.php">Ссылка 1</a><br/><a href="2.php">Ссылка 2</a><br/>
...
Никак не могу написать юзерскрипт, который по названию(!), например "Ссылка 1" будет искать наличие такой ссылки на странице и если она есть, то делать по ней пеход. Заранее спасибо)
Ответить с цитированием
  #2 (permalink)  
Старый 05.02.2015, 08:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от NoobJs
Никак не могу написать юзерскрипт, который по названию(!), например "Ссылка 1" будет искать наличие такой ссылки на странице и если она есть, то делать по ней пеход
Как вариант...

<!DOCTYPE html>
<html ng-app>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="http://code.angularjs.org/1.1.4/angular.min.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
.on {
	border: 1px solid red;
}
</style>
<script type='text/javascript'>
$(function(){
	var val='Ссылка 1';
	//$('a:contains("'+val+'")').get(0).click();
	$('a:contains("'+val+'")').addClass('on');
});
</script>
</head>
<body> 
<a href="1.php">Ссылка 1</a><br/>
<a href="2.php">Ссылка 2</a><br/>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 05.02.2015, 18:20
Новичок на форуме
Отправить личное сообщение для NoobJs Посмотреть профиль Найти все сообщения от NoobJs
 
Регистрация: 23.07.2014
Сообщений: 7

Спасибо, но это jquery, как его подключить в скрипте, а не на странице? Плюс к тому клик не происходит, только выделение ссылки, если я правильно понял
Ответить с цитированием
  #4 (permalink)  
Старый 05.02.2015, 21:14
Аспирант
Посмотреть профиль Найти все сообщения от freee
 
Регистрация: 05.02.2015
Сообщений: 51

<html>
<head>
</head>


<body>

<a href='http://ya.ru'>link1</a>
<a href='http://www.google.ru'>link2</a>
<a href='http://javascript.ru'>link3</a>

<script>
if(address=document.body.innerHTML.match(/(?=[^<]+link3)http:\/\/[^"']+/)) location=address[0]
</script>
</body>
  
</html>

Последний раз редактировалось freee, 05.02.2015 в 21:27.
Ответить с цитированием
  #5 (permalink)  
Старый 06.02.2015, 09:17
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от NoobJs
Плюс к тому клик не происходит, только выделение ссылки, если я правильно понял
А убрать комментарий уже никак не получается?
Сообщение от ksa
//$('a:contains("'+val+'")').get(0).click();
Ответить с цитированием
  #6 (permalink)  
Старый 15.02.2015, 14:32
Новичок на форуме
Отправить личное сообщение для NoobJs Посмотреть профиль Найти все сообщения от NoobJs
 
Регистрация: 23.07.2014
Сообщений: 7

ksa, крутой программист, спасибо, плюсик тебе в репу). Для решения задачи взял за основу именно твой код) freee , Тоже спасибо.
Но вот ещё есть несколько вопросов, буду рад, если кому не трудно будет написать ответ.
1. Как ко всему этому добавить if-else? Конкретнее.
Есть страница, на ней 2 ссылки, на которые надо кликнуть. Этот скрипт кликнет на первую и всё.
<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="http://code.angularjs.org/1.1.4/angular.min.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<script type='text/javascript'>
$(function(){
    var val='Ссылка 1';
    var val2 = 'Ссылка 2';
    //$('a:contains("'+val+'")').get(0).click();
    $('a:contains("'+val+'")').css('border', '1px solid green');
     //$('a:contains("'+val2+'")').get(0).click();
    $('a:contains("'+val2+'")').css('border', '1px solid green');
});
</script>
</head>
<body>
<a href="1.php">Ссылка 1</a><br/>
<a href="2.php">Ссылка 2</a><br/>
<a href="3.php">Ссылка 3</a><br/>
</body>
</html>

В общем если есть ссылка 3, надо кликнуть на ссылку 1, а если её нет, кликнуть на вторую.

2. Есть код.
<font color="red">текст</font>

Как из этого кода вытянуть слово "red" и присвоить переменной?

3. Найти в html коде слово между скобками, не зная самого слова и присвоить переменной.

4. Можно ли тут использовать || (или) и если можно то как?
$( "div:contains('123')" ).append('lol');

То есть чтобы получилось что-то типа такое(не работает):
$( "div:contains('123' || '456')" ).append('lol');

То есть чтобы дописывало после 123 или 456 lol
Ответить с цитированием
  #7 (permalink)  
Старый 15.02.2015, 14:44
Новичок на форуме
Отправить личное сообщение для NoobJs Посмотреть профиль Найти все сообщения от NoobJs
 
Регистрация: 23.07.2014
Сообщений: 7

Вот ещё, забыл.
Как вот по названию ссылки не кликнуть по ней, а взять её url и присвоить переменной?
Ответить с цитированием
  #8 (permalink)  
Старый 16.02.2015, 11:18
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от NoobJs
если есть ссылка 3, надо кликнуть на ссылку 1, а если её нет, кликнуть на вторую
Как вариант...

<html>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="http://code.angularjs.org/1.1.4/angular.min.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<script type='text/javascript'>
$(function(){
    var val='Ссылка 1';
    var val2 = 'Ссылка 2';
	if ($('a:contains("Ссылка 3")').length>0) {
		//$('a:contains("'+val+'")').get(0).click();
		$('a:contains("'+val+'")').css('border', '1px solid green');
	} else {
		 //$('a:contains("'+val2+'")').get(0).click();
		$('a:contains("'+val2+'")').css('border', '1px solid green');
	};
});
</script>
</head>
<body>
<a href="1.php">Ссылка 1</a><br/>
<a href="2.php">Ссылка 2</a><br/>
<a href="3.php">Ссылка 3</a><br/>
</body>
</html>
Ответить с цитированием
  #9 (permalink)  
Старый 16.02.2015, 11:25
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от NoobJs
Есть код.
<font color="red">текст</font>

Как из этого кода вытянуть слово "red" и присвоить переменной?
Для начала нужно найти тот font, а это сильно зависит от твоей разметки.
Потом можно сделать так

<!DOCTYPE html>
<html ng-app>
<head>
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="http://code.angularjs.org/1.1.4/angular.min.js"></script>
<link rel='stylesheet type=text/css href=tmp.css' />
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function(){
	var clr=$('font').eq(0).attr('color');
	alert(clr);
});
</script>
</head>
<body> 
<font color="red">текст</font>
<font color="green">текст</font>
</body>
</html>
Ответить с цитированием
  #10 (permalink)  
Старый 16.02.2015, 11:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от NoobJs
Найти в html коде слово между скобками, не зная самого слова и присвоить переменной.
Взять тот "html код"... А далее как в примере

var str='Тут (мой) весь (html) код';
var a=str.match(/(\([\s\S]*?)(?=\))/g)
for (var i=0; i<a.length; i++) {
	a[i]=a[i].split('(')[1];
};
alert(a);
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
http запрос к Google - найти изображение по ссылке Ginibe Оффтопик 8 15.02.2015 21:34
Как найти нужный элемент страницы и кликнуть если он имеет тока класс... Александр_1997 Events/DOM/Window 3 18.01.2014 14:34
Найти текст и кликнуть по нему ipatrool Элементы интерфейса 1 06.11.2013 15:40
Найти и кликнуть KupueIIIKo Общие вопросы Javascript 1 03.01.2013 12:11
не могу кликнуть по ссылке YuryL Events/DOM/Window 4 26.08.2010 11:20