如何通过bash或python从最活跃的firefox浏览器选项卡url中获取url,从关注的firefox中获取url?

2024-06-01 23:05:13 发布

您现在位置:Python中文网/ 问答频道 /正文

如何通过bash或python从firefox中最活跃的标签页获取url

下面的解决方案展示了如果只打开一个Firefox窗口,该如何操作。(如果有多个FF窗口打开,则此部分解决方案无法执行此操作。如果此部分解决方案仅检查一个运行FF窗口中最活跃的选项卡,或者如果有多个FF窗口打开,则检查第一个启动FF窗口中最活跃的选项卡。)

部分Python解决方案: 导入json、lz4.block、glob、子流程

wins = subprocess.run('wmctrl -l', shell=True, stdout=subprocess.PIPE)
title = next(ln for ln in wins.stdout.decode('utf-8').splitlines() if 'Mozilla Firefox' in ln)

for f in glob.glob('.mozilla/firefox/*default*/sessionstore-backups/recovery.jsonlz4'):
    j = json.loads(lz4.block.decompress(open(f, 'rb').read()[8:]))
    for win in j['windows']:
        for tab in win['tabs']:
            for entry in tab['entries']:
                if entry['title'] in title:
                    print(entry['url'])
                    exit()

备注:

我们正在寻找bash或Python的解决方案,但不需要安装基于Javascript、Selenium或Brotab的浏览器插件,也不需要使用不安全的bug xdool


Tags: inbashjsonurlfortitlefirefox解决方案
1条回答
网友
1楼 · 发布于 2024-06-01 23:05:13

您可以通过以下可能不安全的方式获取最活跃浏览器选项卡的地址:

xdotool search "Navigator" windowactivate  sync key  clearmodifiers ctrl+l ctrl+c

clipboard=$( xsel -ob )
echo "$clipboard"

相关问题 更多 >