无法确定何时使用applescript调用jquery的时机

时间:2018-12-02 19:26:47

标签: javascript jquery applescript

我正在尝试使用applescript和javascript(jquery)的组合在microsoftoline.com中模拟以特定用户身份登录。首先,我需要知道“以前登录MSFT列表”中有多少用户。我尝试通过内省MSFT登录屏幕中列出的行数来做到这一点。有了“ Numusers”后,我将在每行中迭代HTML以单击感兴趣的userID div。问题是,我似乎无法确定何时运行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 :(得分:0)

毕竟不需要使用jquery。

这有效:

    set NumUsers to do JavaScript "document.getElementsByClassName('tile-container').length" in current tab of window 1