Ну и еще один вопрос по ie, вроде подобная тема не поднималась.
На странице есть один фрейм (frame1), обратиться к которому можно следующим образом:
IEGet(name="") {
IfEqual, Name,, WinGetTitle, Name, ahk_class IEFrame
Name := (Name="New Tab - Windows Internet Explorer")? "about:Tabs":RegExReplace(Name, " - ((Windows|Microsoft) Internet Explorer|Internet Explorer)")
for wb in ComObjCreate("Shell.Application").Windows
if wb.LocationName=Name and InStr(wb.FullName, "iexplore.exe")
return wb
}
IE := IEGet()
if !IE
{
IE := ComObjCreate("InternetExplorer.Application")
}
IE.Visible := True
oDoc := IE.document
frame1 := oDoc.getElementById("имя фрейма").contentWindow.document
Если использовать запросы типа: frame1.getElementById(), то все отлично работает. Проблема заключается в элементах, где нет своего ID. Обычно обращение к элементу можно сделать через querySelector, но с фреймом данный способ почему-то не проходит. Много вариантов пробовал, постоянно выбивает ошибку: "Неопознанное имя".
Можно конечно обойтись getElementsByTagName(), но проблема в том, что данные на странице постоянно меняются. Придется сначала находить с помощью парсинга необходимый номер массива TagName и потом уже кликать на элемент.
Никто не сталкивался с подобным? Много тем просмотрел, в том числе и на англ. сайте, ничего работающего для себя не нашел.