我经常遇到的一个用例是,我正在笔记本电脑上阅读一篇有趣的文章,然后需要起身去某个地方,但我想继续在手机上阅读。我有自己为手机/笔记本电脑制作的自定义语音助手,我想向其中添加一个命令,使我可以要求它从笔记本电脑中获取当前标签并将其发送给我手机,在我的浏览器中打开它们。基本上,我向用Python编写的笔记本电脑上的REST API发送请求,它可以告诉我的笔记本电脑执行各种操作,例如控制Spotify。尽管我的笔记本电脑运行Windows,但我对如何执行此操作一无所知。
在装有Chromium的Linux中,您可以执行strings ~/'.config/chromium/Default/Current Session' | 'grep' -E '^https?://'
,但不幸的是Windows不允许这样做-Linux之美在于将所有内容都视为文件,因此几乎可以通过编程方式完成所有操作。
到目前为止,我已经签出了一堆文件:
C:\Users\<user>\AppData\Roaming\Google\Chrome\User Data
C:\Users\<user>\AppData\Local\Google\Chrome\User Data
C:\Users\<user>\AppData\Local\Google\CrashReports
C:\Users\<user>\AppData\Local\Google\Software Reporter Tool
但是在打开的标签中,我找不到任何表明Google Chrome当前状态的信息。 C:\Users\<user>\AppData\Local\Google\Chrome\User Data
目录包含主要子目录,因此我可能遗漏了一些东西,但是要挖掘的文件很多。
基本上,我需要找到一种方法来访问当前在Google Chrome浏览器中打开的所有标签的列表,并将其发送到另一个应用程序。我认为最简单的方法是通过数百个Google Chrome命令行开关之一,但是我找不到一个能为我做的事情。尽管列表非常广泛,所以我可能会错过它。但是我正在寻找以编程方式执行此操作的任何方式-通过Python,Nodejs,Powershell,通过简单的命令行或其他方式进行。
最好能通过以某种方式实际访问数据,而不使用诸如AutoHotkey之类的东西或仅将URL文本发送给自己的方式来做到这一点。