Что нового

Обратиться к элементу span, используя еще и background или title

Нубокодер

Новичок
Сообщения
75
Репутация
0
Код в браузере:

Код:
<span class="infotext" style="width:25px; height:25px; background: url(/images/accept.png); cursor: pointer" title="В путь-дорогу!"></span>

Помогите пожалуйста обратиться к этому span.infotext.
На странице много элементов class="infotext".
Вот мой код:

Код:
$previews = _IETagNameGetCollection($oIE, 'span')
    For $preview In $previews
		If ($preview.ClassName == 'infotext') And (?????) Then
		     $bul = True
		     ExitLoop
		EndIf
    Next


Вместо вопросов в скобках подскажите условие или предложите свой вариант.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Нубокодер,

как только ты осилишь объяснить как отличить именно этот тег от других с таким же классом, то сам поймёшь что нужно вписать в скобки)
 
Автор
Нубокодер

Нубокодер

Новичок
Сообщения
75
Репутация
0
C2H5OH сказал(а):
Нубокодер,

как только ты осилишь объяснить как отличить именно этот тег от других с таким же классом, то сам поймёшь что нужно вписать в скобки)

Допустим, что другие теги отличается абсолютно всем, кроме класса class="infotext".
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Не осилил.

Распечатай все свои похожие теги на бумажку, положи перед собой и сиди смотри на них, пока не увидишь что-нибудь, что является четким отличительным признаком нужного тебе тега.
:scratch:
(и это я не шучу нифига...)
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
http://msdn.microsoft.com/en-us/library/ie/hh773183(v=vs.85).aspx

Надеюсь ты поймешь к чему это я.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Код:
;...
        If $preview.getAttribute('title') == 'В путь-дорогу!' Then
             $bul = True
             ExitLoop
        EndIf
;...
 
Автор
Нубокодер

Нубокодер

Новичок
Сообщения
75
Репутация
0
C2H5OH сказал(а):
Не осилил.

Распечатай все свои похожие теги на бумажку, положи перед собой и сиди смотри на них, пока не увидишь что-нибудь, что является четким отличительным признаком нужного тебе тега.
:scratch:
(и это я не шучу нифига...)

Вопрос был сформулирован четче некуда. Жаль, что ты не понимаешь, в чем нуждается спрашивающий. Проблема не в том, что я не могу отличить один тег от других. Проблема в том, что я не знаю каким образом записать это отличие на языке AutoIt3.
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Нубокодер,
Так должно стать понятней.
Код:
#include <IE.au3>

Local $oIE, $oSpans, $oAttribs, $sValue

$oIE = _IECreate(@ScriptDir & '\1.html')
If @error Then Exit 1

$oSpans = _IETagNameGetCollection($oIE, 'span')
If @error Then Exit 2
;~ 1
For $oSpan In $oSpans
	ConsoleWrite($oSpan.GetAttribute('title') & @LF)
Next
ConsoleWrite('===' & @LF)
;~ 2
For $oSpan In $oSpans
	ConsoleWrite($oSpan.Title & @LF)
Next
ConsoleWrite('===' & @LF)
;~ 3
For $oSpan In $oSpans
	$oAttribs = $oSpan.Attributes
	For $oAttrib In $oAttribs
		$sValue = $oAttrib.nodeValue
		If Not $sValue Then ContinueLoop
		ConsoleWrite($oAttrib.Name & ' = ' & $sValue & @LF)
	Next
	ConsoleWrite('---' & @LF)
Next
ConsoleWrite('===' & @LF)
;~ 4
For $oSpan In $oSpans
	$oAttribs = $oSpan.Attributes
	For $oAttrib In $oAttribs
		ConsoleWrite($oAttrib.Name & ' = ' & $oAttrib.Value & @LF)
	Next
	ConsoleWrite('---' & @LF)
Next
1.html:
Код:
<html>
<head>
<title>.Attributes or .GetAttribute</title>
</head>
<body>
<span class="infotext" style="width:25px; height:25px; background: url(/images/accept.png); cursor: pointer" title="В путь-дорогу!"></span>
<span class="infotext" style="width:25px; height:25px; background: url(/images/accept.png); cursor: pointer" title="В путь-дорогу! 1"></span>
<span class="infotext 2" style="width:25px; height:25px; background: url(/images/accept.png); cursor: pointer" title="В путь-дорогу! 3"></span>
<span class="infotext" style="width:25px; height:25px; background: url(/images/accept.png); cursor: pointer" title="В путь-дорогу! 4"></span>
<span class="infotext" style="width:25px; height:25px; background: url(/images/accept.png); cursor: pointer" title="В путь-дорогу! 5"></span>
</body>
</html>
 
Автор
Нубокодер

Нубокодер

Новичок
Сообщения
75
Репутация
0
Ну и народ, блин...
Это тоже самое, если бы я спросил: А как на китайском языке написать слово "дом"? И один бы мне объяснил: Это такое здание с крышей, стенами и потолком) А другой отослал бы китайский словарь изучать. Хотя надо было просто иероглиф показать).
Очень доволен, что модераторы молодцы: помогли, все по теме написали. Спасибо. :smile:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
OffTopic:
Нубокодер [?]
помогли, все по теме написали
Главное, чтобы вы получив информацию в последствии смогли ею воспользоваться! Тогда, помощь пойдёт в прок :smile:
Но, если чуточку изменить условия задачи и вы встанете в тупик, то начинаешь понимать что попытка помочь "промчалась" мимо. :(



Добавлено:
Сообщение автоматически объединено:

Нубокодер [?]

[info border=#0000ff float=left]На форуме принято помечать тему решенной после получения ответа на свой вопрос!
Вверху или внизу темы нажмите на ссылку такого вида:
package_old.gif
Тема не решена
[/info]
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
Нубокодер,
Про Style:
Код:
Local $oIE, $oSpans, $sValue, $aTmp

$oIE = _IECreate(@ScriptDir & '\1.html')
If @error Then Exit 1

$oSpans = _IETagNameGetCollection($oIE, 'span')
If @error Then Exit 2
;~ 1
For $oSpan In $oSpans
	$sValue = StringStripWS($oSpan.Style.cssText, 8)
	If $sValue Then
		ConsoleWrite($sValue & @LF)
		ConsoleWrite('---' & @LF)
		$aTmp = StringSplit($sValue, ':;')
		For $i = 1 To $aTmp[0] - 1 Step 2
			ConsoleWrite($aTmp[$i] & ' = ' & $aTmp[$i + 1] & @LF)
		Next
		ConsoleWrite('---' & @LF)
	EndIf
Next
;~ 2
ConsoleWrite('===' & @LF)
For $oSpan In $oSpans
	ConsoleWrite($oSpan.Style.background & @LF)
Next
1.html:
Код:
<html>
<head>
<title>.Style</title>
</head>
<body>
<span class="infotext" style="width:25px; height:25px; background: url(/images/accept.png); cursor: pointer" title="В путь-дорогу!">1</span>
<span class="infotext" style="width:25px; height:25px; background: url(/images/1_accept.png); cursor: pointer" title="В путь-дорогу! 1">2</span>
<span class="infotext 2" style="width:25px; height:25px; background: url(/images/2_accept.png); cursor: pointer" title="В путь-дорогу! 3">3</span>
<span class="infotext" style="width:25px; height:25px; background: url(/images/3_accept.png); cursor: pointer" title="В путь-дорогу! 4">4</span>
<span class="infotext" style="width:25px; height:25px; background: url(/images/4_accept.png); cursor: pointer" title="В путь-дорогу! 5">5</span>
</body>
</html>
 
Верх