15

I am trying to access the internet with Google Chrome but every time I use webbrowser.open(url) it opens IE.

So I checked to make sure I have Chrome as my default, which I do, and I tried using the get() function to link the actual Chrome application but it gives me this error instead:

File "C:\Users\xxx\AppData\Local\Programs\Python\Python36\lib\webbrowser.py", line 51, in get raise Error("could not locate runnable browser") webbrowser.Error: could not locate runnable browser

I also tried to open other browsers but it gives the same error. It also reads IE as my default and only runnable browser.

What could be happening? Is there an alternative?

Using Python 3.6.

aaron
  • 39,695
  • 6
  • 46
  • 102
Maxied
  • 159
  • 1
  • 1
  • 4

4 Answers4

22

I too faced the same problem. What you can do is to register the browser and then launch a new tab. Something like this:

import webbrowser    
urL='https://www.google.com'
chrome_path="C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe"
webbrowser.register('chrome', None,webbrowser.BackgroundBrowser(chrome_path),1)
webbrowser.get('chrome').open_new_tab(urL)

And it works. From the docs webbrowser.register(name, constructor, instance=None).

Shubham Rajput
  • 237
  • 2
  • 6
4

I found a solution. Put a '%s' after the path of your browser. For example; change this:

 "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe"

to this:

 "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe %s"

This has worked for me.

su2187
  • 173
  • 1
  • 1
  • 9
0

use "http://" in url

that works for me

ebdeuslave
  • 11
  • 2
0

This is what worked for me

url = "https://www.google.com"
chrome_path = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
webbrowser.register("chrome", None, webbrowser.BackgroundBrowser(chrome_path))
webbrowser.get("chrome").open_new(url)
tierriminator
  • 587
  • 5
  • 19
saurabh
  • 1
  • 2