Получение TypeError при попытке открыть Chrome с помощью Webbrowser - Python - PullRequest
0 голосов
/ 19 марта 2019

Я столкнулся с другим вопросом, спрашивающим, как открыть Chrome с помощью webbrowser, и я хотел сделать это для себя.

Python webbrowser.open () для открытия браузера Chrome

В модуле сохранена переменная с именем Chrome

Chrome = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe %s"

Я сделал это, чтобы выполнить этот код:

import webbrowser as wb
from webbrowser import Chrome

wb.get(Chrome).open('Google.com')

Когда я запускаю этот код, я получаю следующую ошибку:

Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
wb.get(Chrome).open('google.com')
File "C:\Users\MY USERNAME\AppData\Local\Programs\Python\Python37- 
32\Lib\webbrowser.py", line 50, in get
if '%s' in browser:
TypeError: argument of type 'type' is not iterable

Почему это не работает? Я использую Python 3.7.

Ответы [ 2 ]

1 голос
/ 19 марта 2019

Вы используете Chrome двумя различными способами:

Chrome = "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe %s"

и

from webbrowser import Chrome

Поскольку нельзя иметь две вещи с именем Chrome в одном и том же пространстве имен, одна забивает другую. В этом случае Chrome из модуля webbrowser забивает строку, указывающую на ваш локальный браузер Chrome.

Используйте разные имена для каждой вещи, например

import webbrowser

chrome = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe %s'
webbrowser.get(chrome).open('google.com')

Кроме того, что-то вроде этого, вероятно, будет работать, так как Python уже знает о множестве браузеров (у меня нет машины Windows для тестирования прямо сейчас):

from webbrowser import Chrome

# Find a Chrome-family browser whose binary name is chrome
chrome = Chrome('chrome')  # chrome = Chrome('chromium') works on my Linux machine
chrome.open('google.com')
0 голосов
/ 19 марта 2019

Я пытался

import webbrowser as wb
Chrome = 'open -a /Applications/Google\ Chrome.app %s'
wb.get(Chrome).open('http://google.com')

и это сработало. Различия здесь - мой URL и мой путь. Я работаю на MacOS и поэтому путь моего браузера другой. Может быть, вы могли бы проверить, если ваш путь к браузеру правильный?

Можете ли вы попробовать этот путь?

C:/Program Files (x86)/Google/Chrome/Application/chrome.exe %s
...