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

Вот почему исходное выражение не сработало.

Из man bash :

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

Итак, расширение скобки - это что-то, сделанное раньше, как чисто текстовое макро-операции, до расширения параметра .

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

Рекомендация

Я бы предложил придерживаться Posix1 функции. Это означает использование for i in <list>; do, если список уже известен, в противном случае используйте while или seq, как в:

#!/bin/sh

limit=4

i=1; while [ $i -le $limit ]; do
  echo $i
  i=$(($i + 1))
done
# Or -----------------------
for i in $(seq 1 $limit); do
  echo $i
done

1. Bash - отличная оболочка, и я использую ее в интерактивном режиме , но я не ставил bash-isms в мои скрипты. Скриптам может понадобиться более быстрая оболочка, более безопасная, более встроенная. Им может потребоваться запустить все, что установлено как / bin / sh, и тогда есть все обычные аргументы pro-standards. Помните shellshock, aka bashdoor?

29
задан user1527216 17 March 2014 в 00:50
поделиться

12 ответов

Вы можете вызвать 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)
57
ответ дан Hassan Saeed 17 March 2014 в 00:50
поделиться
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', как указано в ссылке

.
7
ответ дан njn1234 17 March 2014 в 00:50
поделиться

В случае 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
ответ дан Community 17 March 2014 в 00:50
поделиться

from selenium import webdriver
#driver = webdriver.Firefox()
driver = webdriver.Chrome()
driver.get("http://www.python.org")
1
ответ дан Logan M 17 March 2014 в 00:50
поделиться

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

import webbrowser

url = 'https://stackoverflow.com'

webbrowser.open(url)
-2
ответ дан nick 17 March 2014 в 00:50
поделиться

Работал для меня в 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
ответ дан user7290573 17 March 2014 в 00:50
поделиться

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

import webbrowser
chrome_path = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s'
webbrowser.get(chrome_path).open('http://docs.python.org/')
1
ответ дан Rahul Sapparapu 17 March 2014 в 00:50
поделиться

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

-1
ответ дан nick 17 March 2014 в 00:50
поделиться

Вот несколько надежный способ получить путь к 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
ответ дан Mehrdad 17 March 2014 в 00:50
поделиться

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

    open_google = webbrowser.get('windows-default').open('https://google.com')
0
ответ дан Mujeeb Ishaque 17 March 2014 в 00:50
поделиться

работавший для меня для открытия новой вкладки на Google Chrome:

import webbrowser

webbrowser.open_new_tab("http://www.google.com")
2
ответ дан 27 November 2019 в 06:30
поделиться

Сделанный этим для игры я играю, это было релевантно, таким образом, я оставляю его. Это реально простой. Захватывает значение от platform.system. Проверки это против известных значений для различных операционных систем. Если это находит соответствие, это устанавливает хромовый путь для Вас. Если ни один не найден, это открывает браузер по умолчанию для Вашей ссылки. Надежда его полезное для кого-то.

import time
import os
import webbrowser
import platform

user_OS = platform.system()
chrome_path_windows = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s'
chrome_path_linux = '/usr/bin/google-chrome %s'
chrome_path_mac = 'open -a /Applications/Google\ Chrome.app %s'
chrome_path = ''
game_site_link = 'https://www.gamelink'

if user_OS == 'Windows':
    chrome_path = chrome_path_windows
elif user_OS == 'Linux':
    chrome_path = chrome_path_linux
elif user_OS == 'Darwin':
    chrome_path = chrome_path_mac
elif user_OS == 'Java':
    chrome_path = chrome_path_mac
else:
    webbrowser.open_new_tab(game_site_link)

webbrowser.get(chrome_path).open_new_tab(game_site_link) 

я на самом деле изменил его еще многие здесь, это обновляется, так как я все еще работаю над этим средством запуска

import time
import webbrowser
import platform
import subprocess
import os
import sys

privateServerLink = 'https://www.roblox.com/games/2414851778/TIER-20-Dungeon-Quest?privateServerLinkCode=GXVlmYh0Z7gwLPBf7H5FWk3ClTVesorY'
userBrowserC = input(str("Browser Type: chrome, opera, iexplore, firefox : "))
userSleepTime = int(input("How long do you want it to run?"))
if userBrowserC == 'opera':
    userBrowserD = 'launcher.exe'
else:
    userBrowserD = userBrowserC

if userBrowserC == "chrome":
    taskToKill = "chrome.exe"
else:
    taskToKill = "iexplore.exe"

if userBrowserC == 'chrome' and platform.system() == 'Windows':
     browserPath = 'C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s'
elif userBrowserC == 'chrome' and platform.system() == 'Linux':
    browserPath = '/usr/bin/google-chrome %s'
elif userBrowserC == 'chrome' and platform.system() == 'Darwin' or 
platform.system() == 'Java':
    browserPath = 'open -a /Applications/Google\ Chrome.app %s'
elif userBrowserC == 'opera' and platform.system() == 'Windows':
    browserPath = 'C:/Users/'+ os.getlogin() +'/AppData/Local/Programs/Opera/launcher.exe'
elif userBrowserC == 'iexplore' and platform.system() == 'Windows':
    browserPath = 'C:/Program Files/internet explorer/iexplore.exe %s'
elif userBrowserC == 'firefox' and platform.system() == 'Windows':
    browserPath = 'C:/Program Files/Mozilla Firefox/firefox.exe'
else:
    browserPath = ''
while 1 == 1:   
    subprocess.Popen('SynapseX.exe')
    time.sleep(7)
    webbrowser.get(browserPath).open_new_tab(privateServerLink)
    time.sleep(7)  
    os.system('taskkill /f /im '+taskToKill)
    time.sleep(userSleepTime)
1
ответ дан 27 November 2019 в 06:30
поделиться
Другие вопросы по тегам:

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