Я настраиваю простой сценарий для прокрутки ячеек в массиве, копирования/вставки каждого в конец URL-адреса и импорта данных из каждого URL в каждом листе. Он создает новые листы.Как перейти к нескольким URL-адресам, перейти к определенным ссылкам и извлечь данные из каждого
Это в основном, как это ...
Set rng = Sheets("IDs").Range("A2:A4")
For Each cell In rng
' DO STUFF HERE
Next cell
Мой вопрос заключается в следующем. Как я могу заставить скрипт выглядеть в каждом href и извлекать данные? Каждый href имеет строку 'Upload *' в имени. Таким образом, я даже не знаю, возможно ли это, но я хотел бы, чтобы мой сценарий развернулся по каждой ссылке с помощью «Загрузить» (и подстановочный знак), скопируйте/вставьте данные в Рабочий лист, вернитесь к исходному URL-адресу, найдите другую ссылку с 'Upload *' и т. д. и т. д. Конечно, это будет рекурсивный сценарий. Возможно ли это, или это просто пустая трата времени?
Я предполагаю, что это будет выглядеть примерно так, но приведенный ниже код не работает для меня.
strSQL = "https://la_de_da_de_da_CampaignID=" & cell.Value
Set IE = CreateObject("InternetExplorer.Application")
With IE
.Visible = True
.Navigate strSQL
Do Until .ReadyState = 4: DoEvents: Loop
Set doc = IE.Document
For Each l In doc.getElementsByTagName("a")
If l.ClassName Like "Upload*" Then
l.Click
End If
Next l
End With
Next cell
Я получаю сообщение об ошибке, которое гласит: «Ошибка выполнения 13 Тип Рассогласование»
Эта линия бросает ошибку:
For Each l In doc.getElementsByTagName("a")
http://stackoverflow.com/questions/27066963/scraping-data-from-website-using-vba –