python - 从 python3 程序调用 firefox 的正确方法是什么?

标签 python firefox operating-system

我试图通过在 python 3 中调用它作为 os.system 或 os.startfile 的参数来使用互联网页面启动 firefox。

我要启动的网页是https://schwab.com

我无法在命令行中使用

C:\Python34\hsf\WSC>C:\Program Files(x86)\Mozilla Firefox\firefox.exe https://schwab.com

它在空格处窒息。

但是我可以通过使用

C:\Progra~2\Mozill~1\firefox.exe https://schwab.com

在命令行下运行良好

所以我将该地址作为 os.system 的参数放入我的 python 程序中,并得到错误:

'C:\Progra~2\Mozill~1' 不是内部或外部命令,也不是可运行的程序或批处理文件。

我在 os.startfile 中试过了,得到了错误信息:

Tkinter 回调异常 追溯(最近一次通话): 文件“C:\Python34\lib\tkinter__init__.py”,第 1482 行,在 call 中 返回 self.func(*args)

文件“C:\Python34\hsf\WSC\fm.py”,第 59 行,在 Schwab 中

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

FileNotFoundError: [WinError 2] 系统找不到指定的文件:

'C:\Progra~2\Mozill~1\x0cirefox.exe https://schwab.com '

请注意,它正确地回应了我的论点,但 FileNotFoundError 已在 '\' 和 'firefox' 之间插入了字符串 x0cire

我删除并重新输入了 '\f',并插入了相同的错误字符串。

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

从 python3 程序调用 firefox 的正确方法是什么?

最佳答案

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

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()

关于python - 从 python3 程序调用 firefox 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25695990/

相关文章:

python - 如何更正我的朴素贝叶斯方法返回极小的条件概率?

c# - 从 Firefox 扩展到 C# 应用程序的通信

javascript - Firefox JavaScript chrome 代码中的弱引用

operating-system - 饥饿自由与有限等待的关系

python sqlite3更新不更新

python - 多索引分类并在 PySpark 中对其进行编码

python - 如何在电子邮件回复中发送附件?

javascript - 无法在 <select> 上通过 Firefox 阻止默认设置

operating-system - 操作系统如何知道进程的执行时间

C 编程 - 线程,以及什么是 void (*func)(void*, unsigned long)