我遇到了另一个问题,询问如何使用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。
答案 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