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)