Что нового

Поиск текста на странице браузера и кликание по нему лкм

shift72

Новичок
Сообщения
86
Репутация
2
Подскажите как реализовать поиск текста в браузере и нажатие на него лкм?
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
http://autoit-script.ru/autoit3_docs/libfunctions/_ielinkclickbytext.htm
 

madmasles

Модератор
Глобальный модератор
Сообщения
7,790
Репутация
2,322
shift72,
[info border=#0000ff float=left]На форуме принято помечать тему решенной после получения ответа на свой вопрос!
Вверху или внизу темы нажмите на ссылку такого вида:
package_old.gif
Тема не решена
[/info]
 
Автор
S

shift72

Новичок
Сообщения
86
Репутация
2
В описании функции отсутствует пример... проблема не решена.
Можно накидать простой пример сюда?
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
shift72
можно хотя-бы пример страницы?
 

C2H5OH

AutoIT Гуру
Сообщения
1,473
Репутация
333
В описании функции отсутствует пример... проблема не решена.
Можно накидать простой пример сюда?

:read_this:
http://autoit-script.ru/autoit3_docs/libfunctions/_ielinkclickbytext.htm
Код:
Пример
Код:
; *******************************************************
; Пример 1 - Open browser with basic example, click on the  link
;               with text "user forum"
; *******************************************************
;
#include <IE.au3>
$oIE = _IE_Example ("basic")
_IELinkClickByText ($oIE, "user forum")

; *******************************************************
; Пример 2 - Open browser to the AutoIt homepage, loop through the links
;               on the page and click on the link with text "wallpaper"
;               using a sub-string match.
; *******************************************************
;
#include <IE.au3>
$oIE = _IECreate("http://www.autoitscript.com")

$sMyString = "wallpaper"
$oLinks = _IELinkGetCollection($oIE)
For $oLink in $oLinks
    $sLinkText = _IEPropertyGet($oLink, "innerText")
    If StringInStr($sLinkText, $sMyString) Then
        _IEAction($oLink, "click")
        ExitLoop
    EndIf
Next
 
Автор
S

shift72

Новичок
Сообщения
86
Репутация
2
C2H5OH

Примера не было, были только комментарии видны.
 
Автор
S

shift72

Новичок
Сообщения
86
Репутация
2
Такая проблема. Когда ищу текст на страницах сайта Вконтакте. Без проблем кликает на "Моя страница" но отказывается кликать на "мне нравится" на фотографиях. В чем проблема?
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Ну очевидно же, проблема в вашем коде)
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,485
shift72 [?]
Народ плиз хелп ми
Если действительно нужна помощь на этом сайте, подобных сообщении больше быть не должно :-X.
 
Автор
S

shift72

Новичок
Сообщения
86
Репутация
2
inververs
Ну очевидно же, проблема в вашем коде)

Ну вот пример:

Код:
#include <IE.au3>
$oIE = _IECreate("http://vk.com/im#/groups")
_IELinkClickByText ($oIE, "Моя Страница")

Открывается страничка вк на вкладке "мои группы" и переходит на "Моя Страница"

Когда же я хочу чтоб он кликнул на "Мне нравится" например на этой страничке с картинкой http://vk.com/groups#/photo-45187021_292269215

Пишу вот так:

Код:
#include <IE.au3>
$oIE = _IECreate("http://vk.com/groups#/photo-45187021_292269215")
_IELinkClickByText ($oIE, "Мне нравится")


Он не кликает и все тут.. Что делать? В чем проблема?

CreatoR я категорически извиняюсь...
 

DarWiM

Продвинутый
Сообщения
527
Репутация
90
shift72
"Мне нравится" это не ссылка, а виджет. Если не ошибаюсь, написан он на JS.. Обычный клик по тексту в данном случае не вариант
Но в мобильной версии сайта это (вроде) просто ссылка.
 

---Zak---

Скриптер
Сообщения
455
Репутация
120
Код:
#include <IE.au3>
$oIE = _IECreate("http://vk.com/groups#/photo-45187021_292269215")
$oDiv = $oIE.document.getElementById("pv_like_wrap")
$oDiv.Click()

или
Код:
#include <IE.au3>
$oIE = _IECreate("http://vk.com/groups#/photo-45187021_292269215")
$oDiv = $oIE.document.getElementById("pv_like_link")
$oDiv.Click()
 
Автор
S

shift72

Новичок
Сообщения
86
Репутация
2
Почему когда ссылка не видна. В браузере. т.е. нужно прокрутить страничку вниз. Не кликает по ней. Что делать?
 
Автор
S

shift72

Новичок
Сообщения
86
Репутация
2
Я прошу прощения, но перед тем как выложить код протестировал и все мистическим образом заработало... Прошу прощения еще раз.



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

Проблема была в том что ссылки на кнопку не только
Код:
pv_like_link
и
Код:
pv_like_wrap

но иногда попадаются и

Код:
like_link-45187021_6

например как тут http://vk.com/wall-45187021_6

цифры динамичны, как выполнять клик по ним?


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

И еще переодически выскакиевает ошибка
Код:
C:\Program Files (x86)\AutoIt3\Include\IE.au3 (1953) : ==> Variable must be of type "Object".:
Return SetError($_IEStatus_Success, 0, $o_object.document.body.innerHTML)
Return SetError($_IEStatus_Success, 0, $o_object.document.body^ ERROR

код

Код:
$oHTML=_IEBodyReadHTML($oIE) 
If StringInStr($oHTML, 'pv_like_link') Then
    $oDiv = $oIE.document.getElementById("pv_like_link")
$oDiv.Click()
Else
  MsgBox(64, 'Info', 'Нет ссылки')



Ошибка вроде гласит о том что не может кликнуть по обьекту, но ведь проверяется его наличие перед кликом....
 
Автор
S

shift72

Новичок
Сообщения
86
Репутация
2
Возможно как то можно пропустить ошибку и работать дальше?
Или подскажите как написать условие. Если может кликнуть на
Код:
pv_like_link

То кликает если нет то продолжает код дальше?
 
Верх