Не могу определить правильное время относительно того, когда вызывать jquery с использованием appleScriptcript. - PullRequest
0 голосов
/ 02 декабря 2018

Я пытаюсь смоделировать вход в систему под конкретным пользователем на microsoftoline.com, используя комбинацию applecript и javascript (jquery).Для начала мне нужно узнать, сколько пользователей в «ранее вошедшем в список MSFT».Я пытаюсь сделать это, анализируя количество строк, перечисленных на экране входа MSFT.Как только у меня появятся «Numusers», я перебираю HTML в каждой строке, чтобы щелкнуть по интересующему разделу userID.Проблема в том, что я не могу точно определить время, когда нужно запустить jquery для получения такого количества пользователей.У меня работают все остальные части, только не часть jquery.

Вот мой код на данный момент:

tell application "Safari"   
    activate
    make new document with properties {URL:"http://login.microsoftonline.com"}
    delay 3
set NumUsers to do JavaScript "$('div.tile-container').length" in 
current tab of first window
display dialog NumUsers

end tell

В ответ я получаю ошибку, которая гласит: «Переменная NumUsers не определена».

Я пытался сделать множество вещей, включая ожидание загрузки страницы перед вызовом jquery ... но я не могу заставить это работать.Эта конкретная попытка кодирования выглядит следующим образом:

tell application "Safari"
    activate
   if not (exists document 1) then reopen
    tell current tab of window 1 to set URL to "http://login.microsoftonline.com"

set the_state to missing value
repeat until the_state is "complete"
    set the_state to (do JavaScript "document.readyState" in document 1)
    log "busy"
    delay 0.2
end repeat
log "complete"
set NumUsers to do JavaScript "$('div.tile-container').length" in current tab of window 1
delay 2
display dialog NumUsers
end tell

Я не женат на использовании Safari в качестве исходного браузера.

1 Ответ

0 голосов
/ 02 декабря 2018

После этого не нужно было использовать jquery.

Это сработало:

    set NumUsers to do JavaScript "document.getElementsByClassName('tile-container').length" in current tab of window 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...