Есть алгоритм программы:
- Ввести адрес размещения браузера.
- И с помощью webbrowser.open открыть в браузере вкладку.
Но тут возникают проблема передачи параметра, программа открывает вкладку в стандартном браузере и выводит ошибки:
Введи адрес браузера: /Chrome Incognito.exe/
Traceback (most recent call last):
File «C:\Users\Ніколя\Desktop\Новая папка\Portable Chrome 4.0.201.1 Dev\2.py», line 6, in
subprocess.check_output([webbrowser.open('vk.com', path)])
File «D:\Python34\lib\subprocess.py», line 607, in check_output
with Popen(*popenargs, stdout=PIPE, **kwargs) as process:
File «D:\Python34\lib\subprocess.py», line 858, in init
restore_signals, start_new_session)
File «D:\Python34\lib\subprocess.py», line 1085, in _execute_child
args = list2cmdline(args)
File «D:\Python34\lib\subprocess.py», line 663, in list2cmdline
needquote = (» » in arg) or («\t» in arg) or not arg
TypeError: argument of type ‘bool’ is not iterable
Сам код программы:
import webbrowser import os, sys import subprocess path = input("Введи адрес браузера: ") subprocess.check_output([webbrowser.open('vk.com', path)])
Опции 1 и 2 у вас взаимоисключающие: либо вы запускаете браузер, как программу, используя subprocess
, либо вы запускаете браузер, используя webbrowser
модуль.
Чтобы открыть адрес в стандартном браузере (по возможности в новой вкладке):
import webbrowser webbrowser.open_new_tab(url)
Чтобы открыть адрес в выбранном браузере, например Chrome
:
import webbrowser webbrowser.get('Chrome').open(url)
Если хочется передать дополнительные опции командной строки, то можно %s
включить в строку, тогда переданное имя интерпретируется как полная командная строка, где на месте адреса веб-страницы находится %s
. Либо использовать subprocess
модуль напрямую:
import subprocess subprocess.call([r'...\chrome.exe', url])