如何通过Python从Chrome获取网址?

时间:2016-02-18 07:17:23

标签: python google-chrome url selenium pywinauto

我正在尝试使用Pywinauto来获取Chrome标签url,如下所示:

(伪代码)

  1. 按F6指示网址行。
  2. Ctrl + C复制网址
  3. 从剪贴簿中获取网址
  4. 通过BS4,请求,硒等处理网址
  5. 我已完成第1步并停留在第2步。再次,我不知道如何处理第3步。因此,认为我弄清楚的方法不正确且效率不高。 任何人都可以建议我应该做些什么,或者给我一个更好的方法吗?

2 个答案:

答案 0 :(得分:0)

如果您只想将剪贴板中的内容粘贴到字符串中,则可以使用其中一个包pyperclipclipboard,这两个包都是可以安装的。

user.name_changed? #=> true
如果我复制此页面的网址,

将提供输出import pyperclip print(pyperclip.paste()) #or equivalently... import clipboard print(clipboard.paste()) (两次......)。

答案 1 :(得分:0)

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

pywinauto 0.5.4无法在没有TypeKeys和剪贴板抓取等技巧的情况下从Chrome获取网址。即将到来pywinauto 0.6.0将能够以正确的方式做到这一点。

如果Chrome已在运行,请使用connect代替start

我还建议使用TypeKeys("^c", set_foreground=False),因为在{F6}之后网址已经过关注,焦点可能会切换到主窗口。

Application().connect(title=u'How can I get a url from Chrome by Python? - Stack Overflow - Google Chrome', found_index=0)也更好,因为标题应该是唯一的。如果有2个窗口found_index=01有用。

获取剪贴板数据:

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