尝试使用Webbrowser打开Chrome时出现TypeError-Python

时间:2019-03-19 17:01:09

标签: python module typeerror

我遇到了另一个问题,询问如何使用webbrowser打开Chrome,我想自己做。

Python webbrowser.open() to open Chrome browser

我在名为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 个答案:

答案 0 :(得分:1)

您以两种不同的方式使用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 already knows about a bunch of browsers开始,这样的事情可能会起作用(我现在没有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')

答案 1 :(得分:0)

我尝试了

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

成功了。这里的区别是我的网址和我的路径。我在MacOS上工作,因此浏览器的路径不同。也许您可以检查浏览器路径是否正确?

您可以尝试此路径吗?

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