Python webbrowser.open(), чтобы открыть браузер Chrome

Согласно документации http://docs.python.org/3.3/library/webbrowser.html, которую он должен открыть в браузере по умолчанию, но по какой-то причине на моей машине он открывает IE. Я сделал поиск в Google, и я наткнулся на ответ, в котором говорилось, что мне нужно регистрировать браузеры, но я не уверен, как использовать webbrowser.register(), и документация кажется не очень понятной. Как зарегистрировать Chrome, чтобы URL-адреса, которые я передавал в webbrowser.open(), открывались в Chrome вместо IE?

Ответы

Ответ 1

Вы можете вызвать get() с путем к Chrome. Ниже приведен пример - замените chrome_path на правильный путь для вашей платформы.

import webbrowser

url = 'http://docs.python.org/'

# MacOS
chrome_path = 'open -a /Applications/Google\ Chrome.app %s'

# Windows
# chrome_path = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s'

# Linux
# chrome_path = '/usr/bin/google-chrome %s'

webbrowser.get(chrome_path).open(url)

Ответ 2

В случае Windows путь использует путь в стиле UNIX, поэтому обратная косая черта обращается в косые черты.

webbrowser.get("C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s").open("http://google.com")

Смотрите: Python: generic webbrowser.get(). open() для chrome.exe не работает

Ответ 3

import webbrowser 
new = 2 # open in a new tab, if possible

# open a public URL, in this case, the webbrowser docs
url = "http://docs.python.org/library/webbrowser.html"
webbrowser.get(using='google-chrome').open(url,new=new)

Вы можете использовать любой другой браузер, изменив параметр "using", как указано в ссылке

Ответ 4

from selenium import webdriver
#driver = webdriver.Firefox()
driver = webdriver.Chrome()
driver.get("http://www.python.org")

Ответ 5

У меня работало в windows

Укажите путь к вашему приложению chrome и не забудьте поставить% s в конце. Я все еще пытаюсь открыть браузер с HTML-кодом без сохранения файла... Я добавлю код, когда найду как.

import webbrowser
chromedir= "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s"
webbrowser.get(chromedir).open("http://pythonprogramming.altervista.org")

>>> ссылка на: [страница моего блога, где я это объясняю] <<<

Ответ 6

Пожалуйста, проверьте это:

import webbrowser
chrome_path = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s'
webbrowser.get(chrome_path).open('http://docs.python.org/')

Ответ 7

Вот несколько надежный способ получить путь к Chrome.

(Обратите внимание, что вы должны делать это только в том случае, если вам конкретно нужен Chrome, а не браузер по умолчанию, или Chromium, или что-то еще.)

def try_find_chrome_path():
    result = None
    if _winreg:
        for subkey in ['ChromeHTML\\shell\\open\\command', 'Applications\\chrome.exe\\shell\\open\\command']:
            try: result = _winreg.QueryValue(_winreg.HKEY_CLASSES_ROOT, subkey)
            except WindowsError: pass
            if result is not None:
                result_split = shlex.split(result, False, True)
                result = result_split[0] if result_split else None
                if os.path.isfile(result):
                    break
                result = None
    else:
        expected = "google-chrome" + (".exe" if os.name == 'nt' else "")
        for parent in os.environ.get('PATH', '').split(os.pathsep):
            path = os.path.join(parent, expected)
            if os.path.isfile(path):
                result = path
                break
    return result

Ответ 8

Если вы установили браузер по умолчанию в Windows, вы можете сделать это:

    open_google = webbrowser.get('windows-default').open('https://google.com')

Ответ 9

работал для меня, чтобы открыть новую вкладку на Google-Chrome:

import webbrowser

webbrowser.open_new_tab("http://www.google.com")

Ответ 10

В Selenium, чтобы получить URL активной вкладки, попробуйте,

from selenium import webdriver

driver = webdriver.Firefox()
print driver.current_url # This will print the URL of the Active link

Отправка сигнала на изменение вкладки

driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.TAB)

и снова использовать

print driver.current_url

Я просто предоставляю вам псевдокод.

Вы можете поместить это в цикл и создать свой собственный поток.

Я новичок в Stackoverflow, поэтому все еще учусь писать правильные ответы.

Ответ 11

по крайней мере, в Windows этого должно быть достаточно, и вам не нужно заботиться о пути к браузеру.

import webbrowser

url = 'https://stackoverflow.com'

webbrowser.open(url)