Что нового

Использование _IELinkClickByText на ссылках с пробелами и спец.символами

unauthorized

Новичок
Сообщения
10
Репутация
0
Есть такая ссылка:
Код:
<a rel="nofollow" href="/cc120604-p3-oborudovanie-i-komplektuyuschie-verhnego-stroeniya-puti.html" class=" b-catalog-pager__link">Следующая →</a>
Знаю что - это пробел, но как указать пробел и спец.символ(→) в функции?
Такая функция не работает:
Код:
_IELinkClickByText($oIE,"Следующая "&Chr(26))
 

Asshaker

Знающий
Сообщения
150
Репутация
17
Код:
_IELinkClickByText($oIE,"Следующая")

Так пробовал? :smile:
Вот еще способ:
Код:
_LinkClick('/cc120604-p3-oborudovanie-i-komplektuyuschie-verhnego-stroeniya-puti.html')
Func _LinkClick($FocusLink) ;Клик по кнопкам с уникальными ссылками	
	$oLinks=_IELinkGetCollection($oIE)
	For $oLink in $oLinks
		if StringInStr($oLink.href,$FocusLink) And  Not  StringInStr($oLink.href, '#') Then
			_IEAction($oLink,'click')
			_IELoadWait($oIE)
			ExitLoop
		EndIf
	Next
EndFunc
 
Автор
U

unauthorized

Новичок
Сообщения
10
Репутация
0
Этот код:
Код:
_IELinkClickByText($oIE,"Следующая")
Не робит для данной ссылки.
Второй вариант использовать не получится, т.к. мой бот должен каждый раз нажимать эту "Следующую", href которой каждый раз разный (постраничная навигация, ссылка "Следующая" указывает на следующую страницу)
 

Zaramot

I ♥ AutoIt
Сообщения
1,160
Репутация
660
Попробуй так:
Код:
#include <IE.au3>

$Url = '' ;Ссылка, где находится "Следующая"
$oIE = _IECreate($Url)
$HTML = _IEBodyReadHTML($oIE)
$LinkText = StringRegExp($HTML, '>Следующая(.*?)<', 3)
_IELinkClickByText($oIE, 'Следующая' & $LinkText)
 

Asshaker

Знающий
Сообщения
150
Репутация
17
$FocusLink, мб частью ссылки.
Ну если почитаешь хепл по командам из функции, то думаю разберешься с сылками :smile:
 
Автор
U

unauthorized

Новичок
Сообщения
10
Репутация
0
Всем спасибо, нашел решение:
Код:
$oLinks = _IELinkGetCollection ($oIE)
For $oLink In $oLinks
 if(StringInStr($oLink.innertext,"Следующая")) Then
  _IENavigate($oIE,$oLink.href)
 EndIf
Next

Помогла справка по линкам: http://msdn.microsoft.com/en-us/library/aa752279%28VS.85%29.aspx
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
unauthorized [?]
"Следующая" указывает на следующую страницу
Количество страниц определяется делением общего количества выводимой информации на количество информации выводимой на страницу.
Для перехода на другую страницу, в GET запросе передаётся параметр приращение. Подставляя его в ссылку, вы сможете перемещаться по страницам. Вам, как правило, нужно один раз считать общее количество страниц, и далее вычислять приращение.
 
Верх