开发者

How to launch new Firefox window with multiple tabs using Python

开发者 https://www.devze.com 2022-12-26 20:30 出处:网络
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 F

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 t开发者_StackOverflow社区he 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: e.g. 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.


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!


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消