如何通过 Python 从 Chrome 获得 url?

How can I get a url from Chrome by Python?

我正在尝试使用 Pywinauto 获取 Chrome 选项卡的 url,如下所示:

(伪代码)

  1. 按 F6 直接转到 url 行。
  2. Ctrl+C复制url
  3. 从剪贴簿中获取 url
  4. 通过BS4、Requests、selenium等处理url

步骤1做完了,卡在步骤2了。同样,我不知道如何处理步骤3。因此,认为我想出的方法不正确且效率低下。 任何人都可以建议我应该做什么或给我一个更好的方法吗?

如果您只想将剪贴板中的内容粘贴到字符串中,您可以使用其中一个软件包 pyperclip or clipboard,它们都可以通过 pip 安装。

import pyperclip
print(pyperclip.paste())

#or equivalently...
import clipboard
print(clipboard.paste())

如果我复制此页面的 url,将给出输出 '

只是将所有评论总结在一个答案中...

pywinauto 0.5.4 无法从 Chrome 中获取 URL 而不使用 TypeKeys 和剪贴板抓取等技巧。即将到来的pywinauto 0.6.0将能够做到这一点。

只需使用 connect 而不是 start,以防 Chrome 已经是 运行。

我还推荐 TypeKeys("^c", set_foreground=False),因为 URL 在 {F6} 之后已经聚焦,并且聚焦可能会切换到主要 window。

Application().connect(title=u'How can I get a url from Chrome by Python? - Stack Overflow - Google Chrome', found_index=0) 也更好,因为标题应该是唯一的。万一有2个windowsfound_index=0或者1就有用了。

获取剪贴板数据:

from pywinauto import clipboard
print(clipboard.GetData())