Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.11.2017, 15:27
Профессор
Отправить личное сообщение для денис77447327 Посмотреть профиль Найти все сообщения от денис77447327
 
Регистрация: 03.09.2017
Сообщений: 172

как кликнуть по тексту ссылки
<a href="/edit/edit_order_follow?id=1220387">Пополнить</a>

где значение id разное всегда
нужно кликнуть по слову "пополнить" с указание индекса так как оно не одно на странице с разными ссылками
Ответить с цитированием
  #2 (permalink)  
Старый 12.11.2017, 16:35
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

document.querySelectorAll('a[href^="/edit/edit_order_follow?id="]')[0].dispatchEvent(new Event('click'));
Ответить с цитированием
  #3 (permalink)  
Старый 13.11.2017, 02:28
Профессор
Отправить личное сообщение для денис77447327 Посмотреть профиль Найти все сообщения от денис77447327
 
Регистрация: 03.09.2017
Сообщений: 172

спасибо не пойму только почему в консоли возвращается true при данном методе а самого клика нет а есть он только при таком
document.querySelectorAll('a[href^="/edit/edit_order_follow?id="]')[0].click()
Ответить с цитированием
  #4 (permalink)  
Старый 13.11.2017, 06:25
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Nexus, в сафари с таким селектором может возникнуть ошибка.
Ответить с цитированием
  #5 (permalink)  
Старый 13.11.2017, 09:59
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

ruslan_mart, можете поделиться ссылками на страницы освещающие эту проблему?

var select_url='/edit/edit_order_follow?id=',
	links=document.querySelectorAll('a[href^="'+select_url+'"]');
	
if(!links.length && is_safari()){
	links=[].filter.call(document.querySelectorAll('a[href]'),function(node){
		return node.getAttribute('href').indexOf(select_url)===0;
	});
};
if(!!links[0])
	links[0].click();


function is_safari(){
	var ua=navigator.userAgent.toLowerCase();

	return (ua.indexOf('safari')!=-1 && ua.indexOf('chrome')==-1);
}
Ответить с цитированием
  #6 (permalink)  
Старый 13.11.2017, 10:17
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Nexus, я точно сейчас не смогу показать пример, но сам с этой проблемой сталкивался несколько раз, когда по каким-то непонятным причинам, safari выдавал ошибку селектора, ходя сам ссылка была вполне валидна и не содержала никаких кавычек. Возможно, там есть некие ограничения с этим, нужно тестировать.
Ответить с цитированием
  #7 (permalink)  
Старый 13.11.2017, 10:39
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,706

ruslan_mart, ясно. Благодарю за информацию.
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как сделать ссылки из файла CSS корректными для всех директрорий сайта? GrEb (X)HTML/CSS 7 28.01.2020 12:56
Как заблокировать ссылки во фрейме и обрамить в свою? ligisayan Общие вопросы Javascript 2 22.03.2016 11:50
Как сделать, чтобы при заходе на страницу открывались в 2-х окнах 2 ссылки ? autobuh Общие вопросы Javascript 1 26.08.2013 15:27
Как сделать клик по ссылке с другой ссылки или div ? ilyas-> Элементы интерфейса 15 01.08.2013 12:49
Зарубить ссылки, как? Volonter Общие вопросы Javascript 8 19.01.2011 14:51