2014-09-06 26 views
1

我想通过在python 3中调用它作为os.system或os.startfile的参数来启动与互联网页面的firefox。我可以从python3程序调用firefox的正确方法是什么?

互联网网页我要开始为https://schwab.com

我不能

Ç把它在命令行:\ Python34 \ HSF \ WSC> C:\ Program Files文件(86) \ Mozilla Firefox的\ firefox.exe https://schwab.com

它扼流圈的空间。

但我可以用

C:\ PROGRA〜2 \ Mozill〜1 \ firefox.exe https://schwab.com

这在命令行

所以我把地址作为正常工作在我的Python程序中的参数os.system,并得到了错误:

'C:\ Progra〜2 \ Mozill〜1'不被识别为内部或外部命令,可操作程序或批处理文件。

我试图在os.startfile并得到了错误消息:

异常在Tkinter的回调 回溯(最近通话最后一个): 文件 “C:\ Python34 \ LIB \ tkinter__init __ PY”,行1482,在通话 回报self.func(*参数)

文件 “C:\ Python34 \ HSF \ WSC \ fm.py” 59行,在施瓦布

res=os.startfile('C:\Progra~2\Mozill~1\firefox.exe https://schwab.com') 

FileN otFoundError:WinError 2]系统找不到指定的文件:

'C:\ PROGRA〜2 \ Mozill〜1 \ x0cirefox.exe https://schwab.com'

注意,它呼应我正确的说法,但FileNotFoundError已插入之间的“\”和字符串x0cire“火狐”

我删除和重新输入了“\ F”,并得到了插入相同erroroneous字符串。

为了避免路径,我复制到firefox.exe我的文件夹中,但它不会其原生环境之外运行。

什么是我可以从一个python3程序调用Firefox中的正确方法?

回答

3

这取决于你想要用这个网站做什么。如果您只想打开网页,请使用webbrowser module打开网址。

import webbrowser 

webbrowser.open('https://www.schwab.com/') 

如果您需要更复杂的东西,你可以使用Selenium模块中几乎反正你需要的页面进行交互。

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 

driver = webdriver.Firefox() 
driver.get("http://www.python.org") 
assert "Python" in driver.title 
elem = driver.find_element_by_name("q") 
elem.send_keys("selenium") 
elem.send_keys(Keys.RETURN) 
driver.close() 
+0

哇!这很容易,就像作弊。 :-) – user1067305 2014-09-06 05:04:23

1

我建议您尝试selenium Python的网络驱动程序API,它适用于Firefox,Chrome等等。除了你所需要的,你还可以完全控制浏览器!

相关问题