2014-09-06 46 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等等。除了你所需要的,你還可以完全控制瀏覽器!

相關問題