简体   繁体   中英

How to launch new Firefox window with multiple tabs using Python

I want to create a MSWindows Python program that would launch a new Firefox window with multiple tabs each time it is run. For example if I want to search "hello", a new window pops out (even if a Firefox window is already open) and then launches a Google and Bing tabs searching for "hello". If I change the keyword to "world", a new browser pops out again with Google and Bing tabs searching for "world".

I've looked at the webbrowser module but couldn't get it to: 1. Launch a new browser when a browser is already open: eg webbrowser.open(' http://www.google.com ',new=1) will instead open a new tab 2. Launch multiple tabs simultaneously in the same window

Appreciate the help.

Thanks.

webbrowser just doesn't give you this degree of control. Use subprocess instead, to explicitly launch firefox with a new window and then add tabs to it. The firefox command line arguments reference is here , but, briefly, what you want is one firefox.exe -new-window <url> (using the URL you want in lieu of <url> of course), then one or more firefox.exe -new-tab <url> (ditto). You may also want to control width and height, use a different profile from the default one, etc -- the command-line arguments let you do all that.

In python 3.6, a complete answer will include both webbrowser.open_new() and webbrowser.open_new_tab() from the webbrowser docs .

import webbrowser

def main():
    # print(webbrowser._browsers) # for Python 3.x to determine .get() arg
    browser = webbrowser.get('firefox')

    urls = ['url1', 'url2', 'url3']

    first = True
    for url in urls:
        if first:
            browser.open_new(url)
            first = False
        else:
            browser.open_new_tab(url)

if __name__ == '__main__':
    main()

Enjoy the code. +1 if it helped you out. Cheers!

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM