我正在尝试使用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作为源浏览器。
答案 0 :(得分:0)
毕竟不需要使用jquery。
这有效:
set NumUsers to do JavaScript "document.getElementsByClassName('tile-container').length" in current tab of window 1