AppleScript:Safari页面已完全加载/全屏窗口中的对话框
我尝试了这么多的剪辑,但无法让我的脚本等待safari(9.0.1)完全加载我想要的网页 你知道OSX 10.11/Safari 9.0.1适用于哪一种吗 此外,目前我有一个非常简单的对话,用于计时“safari是否已满负荷?” 但是,我的Safari是全屏打开的,因此对话框将在桌面主屏幕上弹出 我不能将对话框的焦点放在safari所在的位置吗AppleScript:Safari页面已完全加载/全屏窗口中的对话框,safari,dialog,applescript,wait,Safari,Dialog,Applescript,Wait,我尝试了这么多的剪辑,但无法让我的脚本等待safari(9.0.1)完全加载我想要的网页 你知道OSX 10.11/Safari 9.0.1适用于哪一种吗 此外,目前我有一个非常简单的对话,用于计时“safari是否已满负荷?” 但是,我的Safari是全屏打开的,因此对话框将在桌面主屏幕上弹出 我不能将对话框的焦点放在safari所在的位置吗 set infotosearch to the clipboard if infotosearch is equal to missing value
set infotosearch to the clipboard
if infotosearch is equal to missing value then
--do nothing
else
tell application "Safari"
tell window 1 of application "Safari" to set current tab to tab 1
-- Last Name
do JavaScript "document.getElementsByName('11111')[0].value=" & quoted form of infotosearch & "" in document 1
-- search
delay 0.1
do JavaScript "document.getElementsByName('111112')[0].click();" in document 1
end tell
end if
-- FOCUS ON SAFARI
tell application "System Events"
tell process "Safari"
set frontmost to true
delay 1
end tell
end tell
-- END FOCUS
-- Dialog as cannot wait for safari page fully loaded
display dialog "Is MZ Fully loaded?" buttons {"Yes", "NO"} default button 2
if the button returned of the result is "" then
-- nothing
else
-- nothing
end if
检查Safari是否已完成加载整个页面的一种简单方法是检查页面的源代码是否包含end balise“” 此脚本正在执行以下操作:
set myUrl to "http://www.google.com"
tell application "Safari"
make new document with properties {URL:myUrl}
delay 1
tell document 1
repeat until ("</html>" is in its source)
delay 0.5
end repeat
end tell
end tell
将myUrl设置为“http://www.google.com"
告诉应用程序“Safari”
创建具有属性{URL:myUrl}的新文档
延迟1
告诉文件1
重复此操作,直到源中出现(“)
延迟0.5
结束重复
结束语
结束语
我希望有帮助
我还记得曾经看到过一条java指令来获取页面加载状态。也一样。谢谢你的帮助,虽然它对我不起作用,但我现在只延迟了10秒,不管怎样,实际上我的延迟解决方案已经杀了我!基本上,脚本在safari中已经打开的选项卡上填充搜索查询,单击搜索,我需要等待搜索完成,在没有url变量的情况下尝试此脚本,并通过网站中的其他内容更改html关键字,但如果脚本停止,只需停止脚本而不显示错误消息,这是因为它在页面源中找到了新关键字。你确定在搜索结束之前,你的关键词还没有出现在页面的源代码中吗?太棒了,非常感谢你从本月开始寻找它!(这是我的脚本的集成)尝试告诉应用程序“Safari”告诉应用程序“Safari”的窗口1将当前选项卡设置为选项卡1告诉文档1重复直到(“此处的文本”在其源中)延迟0.5结束重复结束告诉结束错误结束尝试