Что нового

Как кликнуть на ссылку?

minimen456

Новичок
Сообщения
34
Репутация
0
У меня есть ссылка такого ввида, как мне кликнуть на нее?
Код:
<a title="Show password" href="javascript:requestPass('Z29seWFhMQ%3d%3d,Um9vdA%3d%3d,T3BlcmF0aW5nIFN5c3RlbS1XaW5kb3dzLUVVUi1ldXIuYWxjb2EuY29tLXdhZG1pbmdvbHlhYTE%3d,,,VHJ1ZQ%3d%3d', showPasswordInGrid, Cyberark.PVConsts.titleShowPassword);"><img src="images/icons/password_show.gif" border="0" style="display:block;float:left;margin:0px 3px 0px 0px"></a>
 

madmasles

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

$oIE = _IECreate($sUrl)
$oLinks = _IELinkGetCollection($oIE)

For $oLink In $oLinks
	If _IEPropertyGet($oLink, 'title') = 'Show password' Then
		_IEAction($oLink, 'click')
		_IELoadWait($oIE)
		ExitLoop
	EndIf
Next
Или
Код:
_IEImgClick()
 
Автор
M

minimen456

Новичок
Сообщения
34
Репутация
0
Этот код не сработал. Я попробовал добавить MsgBox. Получал окошки с надписью "My Objects", а должен был бы получать с title (например, 'Show password' и т.д)
Код:
#include <IE.au3>

$oIE = _IECreate($sUrl)
$oLinks = _IELinkGetCollection($oIE)

For $oLink In $oLinks
	$r = _IEPropertyGet($oLink, 'title')
	MsgBox(0, "", $r)

    If _IEPropertyGet($oLink, 'title') = 'Show password' Then
        _IEAction($oLink, 'click')
        _IELoadWait($oIE)
        ExitLoop
    EndIf
Next
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
А Link разве является DOM элементом? Не уверен что _IEPropertyGet на линках работает.

Пробуй так
Код:
#include <IE.au3>

$sUrl = "..."
$oIE = _IECreate($sUrl)
$oTags = _IETagNameGetCollection($oIE,"a")

For $oTag In $oTags
    $r = $oTag.title
    MsgBox(0, "", ">"&$r&"<")

    If $oTag.title = "Show password" Then
        _IEAction($oTag, 'click')
        _IELoadWait($oIE)
        ExitLoop
    EndIf
Next
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
minimen456,
Я ошибся, см. ответ C2H5OH.
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
Да, давай ссылку на сайт.
Потому как у меня всё работает с приведённым тобой html-кодом, сохранённым в файл.
 
Автор
M

minimen456

Новичок
Сообщения
34
Репутация
0
Ссылку дать не могу, сайт в локальной сети и снаружи не доступен. Сработал такой код:
Код:
$oTags = _IELinkGetCollection($oIE)
For $oTag In $oTags
	$r = $oTag.href
    If StringInStr($r, "javascript:requestPass") Then
		ConsoleWrite("bingo")
		EndIf
	    If StringInStr($r, "javascript:requestPass") Then
        _IEAction($oTag, 'click')
        _IELoadWait($oIE)
        ExitLoop
    EndIf
Next
 
Верх