我试过使用Pamie,这是一个用于自动化Internet Explorer浏览器的库。它通过COM接口与IE进行交互,功能挺不错的:
import PAM30 ie = PAM30.PAMIE("http://user-agent-string.info/") ie.clickButton("Analyze my UA")
现在我想用PyXPCOM来做同样的事情,希望在Firefox上也能有类似的灵活性。我该怎么做呢?能给我一些示例代码吗?
更新:请只提供pyxpcom的内容
如果你在测试一个网页应用,并想用Python来实现这个测试,可以看看 Selenium RC。这样你就可以在所有浏览器上使用相同的接口来进行操作。
我对PyXPCOM的理解是,它主要是用来创建和访问XPCOM组件的,而不是用来控制已经存在的组件。根据最初的作者Mark Hammond的说法,你可能根本无法通过PyXPCOM做到这一点:
这根本不是XPCOM的目的。我不确定Mozilla/Firefox现在是否有或者正在开发COM或其他“自动化”机制。
还有:
如果你所说的“自动化”是指“通过远程进程控制Mozilla”,那么据我所知,这是不可能的。
你可能更想看看之前提到的Webdriver项目,比如Windmill或者MozMill,这两个项目都支持通过Python来自动化Firefox/Gecko/XULRunner。
我用过 webdriver 和火狐浏览器,感觉非常不错。
至于代码示例,这个链接可以帮助你入门。