gpt4 book ai didi

android - adb可以查看浏览器是否满载吗?

转载 作者:行者123 更新时间:2023-11-29 02:09:44 26 4
gpt4 key购买 nike

我创建了一个应用程序,它通过 ADB 与 Android Emulator 交互,将浏览器发送到特定的 URL,然后截取浏览器窗口。然后我抓取图像并将其在服务器端转换为 JPG。

一切都很好,但是现在我只是在执行 thread.sleep() 15 秒,以确保浏览器完成加载我传入的 URL。好吧,这在大多数情况下工作正常,但有些网站在 15 秒之前完成加载方式,而其他人仍然需要几秒钟。

我想知道是否有一种方法可以通过 ADB 检查浏览器是否完成加载而不是设置静态等待时间?

最佳答案

有一种方法:打开浏览器后,加载一个 javascript url,该 url 将在页面加载后输出到控制台。然后在 logcat 中查找输出。在 android 中,所有 console.log() javascript 调用都被转发到 logcat。 (标签名称取决于操作系统版本,寻找控制台、浏览器或 WebCore)

例子:

adb shell am start -a android.intent.action.VIEW -d http://www.stackoverflow.com ; sleep 1 ; adb shell am start -a android.intent.action.VIEW -d "javascript:window.onload=function(){console.log('stackoverflow rocks hard.')}" -n com.android.browser/com.android.browser.BrowserActivity

当网站完全加载时,您可以在 logcat 上看到以下行:

11-16 23:03:53.887: D/WebCore(1672): Console: stackoverflow%20rocks%20hard. line: 1 source: 

关于android - adb可以查看浏览器是否满载吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8158366/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com