Подскажите плиз, пытаюсь сделать что-то в виде бота instagram, только со своими хочучками.
В настоящий момент код обращается к открытому окну IE где заранее открыт уже авторизованный Инстаграмм. Научился ставить "Лайк" и добавлять текст в строку "Добавить комментарий". Не могу понять как заставить VBA отправить комментарий. Т.е. с имитировать нажатие клавиши Enter находясь в input формы. (если изъясняюсь неверно, прошу прощения от html и ява очень далек). Единственное что я вроде понял, что там срабатывает какой-то скрипт. Уважаемые гуру, направьте или подскажите плиз как решить мою проблемку. Делать окно активным и через SednKeys мне не подходит.
Этим кодом я добираюсь до input и ввожу текст.
[vba]
Код
Sub IE_Internet_Explorer()
Dim objCollectionIf_article As Object, objCollectionIf_section As Object Dim objCollectionIf_a As Object, objCollectionIf As Object Dim Shell As Object Dim Wins As Object Dim WinItem As Variant
Dim oDoc As Object
Dim InputName As String Const SiteURL As String = "https://www.instagram.com/" Dim WinItemLocationURL As String Dim FullWinItemLocationURL As String Dim objCollectionIfName As String Dim objCollectionIfValue As String Dim Все_ссылки As String
Dim objCollectionIfLength_input As Integer Dim objCollectionIfLength_s As Integer Dim objCollectionIfLength_a As Integer Dim objCollectionIfType As String Dim i As Integer, iSec As Integer Dim WinItemLocationURLCount As Integer Dim Ссылки As Integer
If WinItem.LocationURL = SiteURL Then Set oDoc = WinItem.Document Страница_IE_найдена = True Else End If End If Next
If Страница_IE_найдена = True Then ' MsgBox$ _ ' "Найдено вкладок Internet Explorer: " & WinItemLocationURLCount & Chr$(13) & _ ' FullWinItemLocationURL, vbOKOnly, _ ' "Внимание" Else MsgBox$ _ "Не найдена требуемая страница: " & SiteURL & Chr$(13) & _ "Программа не может быть продолжена" & Chr$(13) & _ "Найдено вкладок Internet Explorer: " & WinItemLocationURLCount & Chr$(13) & _ FullWinItemLocationURL, vbOKOnly, _ "Внимание" GoTo Конец End If
Set objCollectionIf_article = oDoc.getElementsByTagName("article") 'выбираем все публикации 'проходит по всем article While i < objCollectionIf_article.Length Set objCollectionIf_section = objCollectionIf_article(i).getElementsByTagName("section") 'в каждой публикации выбираем While iSec < objCollectionIf_section.Length If objCollectionIf_section(iSec).ClassName = "_jveic _dsvln" Then Set objCollectionIf = objCollectionIf_section(iSec).getElementsByTagName("a") objCollectionIf(0).Click
Set objCollectionIf = objCollectionIf_section(iSec).getElementsByTagName("input") objCollectionIf(0).Value = "Здорово" '=================================================== 'тут необходимо имитация enter '=================================================== End If iSec = iSec + 1 Wend iSel = 0
i = i + 1 Wend i = 0
Set objCollectionIf_article = Nothing Set objCollectionIf_section = Nothing Set objCollectionIf_a = Nothing Set objCollectionIf = Nothing
Set oDoc = Nothing Конец: Set Shell = Nothing
End Sub
[/vba]
Добрый день всем.
Подскажите плиз, пытаюсь сделать что-то в виде бота instagram, только со своими хочучками.
В настоящий момент код обращается к открытому окну IE где заранее открыт уже авторизованный Инстаграмм. Научился ставить "Лайк" и добавлять текст в строку "Добавить комментарий". Не могу понять как заставить VBA отправить комментарий. Т.е. с имитировать нажатие клавиши Enter находясь в input формы. (если изъясняюсь неверно, прошу прощения от html и ява очень далек). Единственное что я вроде понял, что там срабатывает какой-то скрипт. Уважаемые гуру, направьте или подскажите плиз как решить мою проблемку. Делать окно активным и через SednKeys мне не подходит.
Этим кодом я добираюсь до input и ввожу текст.
[vba]
Код
Sub IE_Internet_Explorer()
Dim objCollectionIf_article As Object, objCollectionIf_section As Object Dim objCollectionIf_a As Object, objCollectionIf As Object Dim Shell As Object Dim Wins As Object Dim WinItem As Variant
Dim oDoc As Object
Dim InputName As String Const SiteURL As String = "https://www.instagram.com/" Dim WinItemLocationURL As String Dim FullWinItemLocationURL As String Dim objCollectionIfName As String Dim objCollectionIfValue As String Dim Все_ссылки As String
Dim objCollectionIfLength_input As Integer Dim objCollectionIfLength_s As Integer Dim objCollectionIfLength_a As Integer Dim objCollectionIfType As String Dim i As Integer, iSec As Integer Dim WinItemLocationURLCount As Integer Dim Ссылки As Integer
If WinItem.LocationURL = SiteURL Then Set oDoc = WinItem.Document Страница_IE_найдена = True Else End If End If Next
If Страница_IE_найдена = True Then ' MsgBox$ _ ' "Найдено вкладок Internet Explorer: " & WinItemLocationURLCount & Chr$(13) & _ ' FullWinItemLocationURL, vbOKOnly, _ ' "Внимание" Else MsgBox$ _ "Не найдена требуемая страница: " & SiteURL & Chr$(13) & _ "Программа не может быть продолжена" & Chr$(13) & _ "Найдено вкладок Internet Explorer: " & WinItemLocationURLCount & Chr$(13) & _ FullWinItemLocationURL, vbOKOnly, _ "Внимание" GoTo Конец End If
Set objCollectionIf_article = oDoc.getElementsByTagName("article") 'выбираем все публикации 'проходит по всем article While i < objCollectionIf_article.Length Set objCollectionIf_section = objCollectionIf_article(i).getElementsByTagName("section") 'в каждой публикации выбираем While iSec < objCollectionIf_section.Length If objCollectionIf_section(iSec).ClassName = "_jveic _dsvln" Then Set objCollectionIf = objCollectionIf_section(iSec).getElementsByTagName("a") objCollectionIf(0).Click
Set objCollectionIf = objCollectionIf_section(iSec).getElementsByTagName("input") objCollectionIf(0).Value = "Здорово" '=================================================== 'тут необходимо имитация enter '=================================================== End If iSec = iSec + 1 Wend iSel = 0
i = i + 1 Wend i = 0
Set objCollectionIf_article = Nothing Set objCollectionIf_section = Nothing Set objCollectionIf_a = Nothing Set objCollectionIf = Nothing