How can I get a url from Chrome by Python?

后端 未结 2 435
甜味超标
甜味超标 2020-12-17 06:19

I\'m trying to use Pywinauto to get the Chrome tab\'s url like this:

(pseudo code)

  1. Press F6 to direct url line.
  2. Ctrl
相关标签:
2条回答
  • 2020-12-17 06:53

    If all you want is to paste what you have in the clipboard to a string you could use one of the packages pyperclip or clipboard, which both are pip-installable.

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

    will give output 'http://stackoverflow.com/questions/35475103/how-can-i-get-a-url-from-chrome-by-python' (twice...) if I copy the url for this page.

    0 讨论(0)
  • 2020-12-17 07:01

    Just to summarize all the comments in one answer...

    pywinauto 0.5.4 is not able to get the URL from Chrome without tricks like TypeKeys and clipboard grabbing. Coming pywinauto 0.6.0 will be able to do that right way.

    Just use connect instead of start in case Chrome is already running.

    I would also recommend TypeKeys("^c", set_foreground=False) since the URL is already focused after {F6} and focus may switch to the main window.

    Application().connect(title=u'How can I get a url from Chrome by Python? - Stack Overflow - Google Chrome', found_index=0) is also better because the title should be unique. In case there are 2 windows found_index=0 or 1 is useful.

    To get the clipboard data:

    from pywinauto import clipboard
    print(clipboard.GetData())
    
    0 讨论(0)
提交回复
热议问题