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

Это происходит потому, что JVM генерирует новый класс на лету, когда Lambda вызывается впервые. После этого этот класс можно использовать повторно. Вот почему в первый раз у вас высокая задержка.

Кроме того, важно понимать, что лямбды не всегда являются лучшими вариантами, особенно для простых операций, которые можно выполнить с помощью старого доброго цикла. Эта статья является богатой и довольно хорошим чтением для тех, кто интересуется производительностью Stream.

31
задан 16.05.2020, 13:07

10 ответов

Вы можете вызвать 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)
64
ответ дан 16.05.2020, 13:07

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

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

См .: Python: универсальный webbrowser.get (). Open () для chrome.exe не работает

28
ответ дан 16.05.2020, 13:08
  • 1
    @JimHawkins Обновил ссылки. Я don' t думают it' s возможный больше использовать в Firefox, так как они obsoleted все дополнения, но это должно все еще работать с ветвлениями Firefox, например, Бледной Луной. – CrouZ 10.02.2019, 23:08

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

    open_google = webbrowser.get('windows-default').open('https://google.com')
0
ответ дан 16.05.2020, 13:09
  • 1
    Ничего себе. Добрался вниз голосование точно один год спустя. Я желаю, чтобы люди прокомментировали бы, почему они вниз иногда голосовали. – Jeff B 04.11.2019, 15:48

from selenium import webdriver
#driver = webdriver.Firefox()
driver = webdriver.Chrome()
driver.get("http://www.python.org")
1
ответ дан 16.05.2020, 13:09
  • 1
    Я также использую эту опцию. Это дает одному быстрый и простой способ перерыть документы. – Haroldo_OK 23.09.2016, 14:26
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', как указано в ссылке

.
8
ответ дан 16.05.2020, 13:10
  • 1
    Просто получил downvote на этом. Объясните свои взгляды. Если у Вас есть актуальный вопрос it' ll помогают остальной части нас. Если Ваша точка не так хороша, мы могли бы быть в состоянии помочь Вам. – mike rodent 30.12.2018, 14:43

Работал для меня в 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")

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

1
ответ дан 16.05.2020, 13:10
  • 1
    Не работает на Java SE 6 - он просто связывается со страницей загрузки Java SE 8 [:-( – Carlos Heuberger 13.04.2016, 12:03

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

import webbrowser
chrome_path = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s'
webbrowser.get(chrome_path).open('http://docs.python.org/')
1
ответ дан 16.05.2020, 13:11
  • 1
    +1 для хорошей основательной демонстрации и избиения меня к нему.;-) (и для использования % вместо меня работающий с пикселями: клятва:) – Brad Christie 04.11.2019, 15:47

Вот несколько надежный способ получить путь к 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
0
ответ дан 16.05.2020, 13:11
  • 1
    Идет. Я работал над этим в течение приблизительно 3 часов и не добрался нигде около этого. Благодарит тонну! It' s произведение искусства:) – djreed 04.11.2019, 15:47

В 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, поэтому все еще учусь писать правильные ответы.

0
ответ дан 16.05.2020, 13:12
  • 1
    Опоры для обеспечения рабочей демонстрации! – Graham Swan 04.11.2019, 15:49

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

import webbrowser

url = 'https://stackoverflow.com'

webbrowser.open(url)
0
ответ дан 16.05.2020, 13:12
  • 1
    @AndersHolmströ m у меня есть эта работа в ie8 с 1.9.0 – briansol 04.11.2019, 15:49

Теги

Похожие вопросы