浏览器自动化:使用PyXPCOM的Python + Firefox

5

我尝试过Pamie,这是一个针对Internet Explorer的浏览器自动化库。它使用COM接口与IE进行交互,非常不错:

import PAM30
ie = PAM30.PAMIE("http://user-agent-string.info/")
ie.clickButton("Analyze my UA")

现在我想使用PyXPCOM在Firefox上实现类似的灵活性。我该怎么做?你能提供样例代码吗?
更新:请只使用pyxpcom。

4
放松点,伙计。有很多人在提问时都会先假设他们已经知道了答案。有时最好的解决方案并不是他们关注的那个。既然你没有提到为什么需要 PyXPCOM 而不是其他许多自动化选项,那么提供一些你可能没有考虑过的替代方案也无妨。迟早会有具有 PyXPCOM 经验的人给你所需的答案,如果没有,那么其他答案就不重要了。至少它们可能会为搜索“浏览器自动化”的其他用户解决问题。 - SpliFF
3个回答

10

我曾使用过webdriver和火狐浏览器一起使用,非常满意。

至于代码示例,这里会帮助你入门。


4

我对PyXPCOM的理解是,它旨在让你创建和访问XPCOM组件,而不是控制现有的组件。根据原作者Mark Hammond的说法,你可能无法使用PyXPCOM来实现这一点:

这并不是XPCOM所尝试做的事情。我不确定Mozilla / Firefox现在是否拥有或正在开发COM或任何其他“自动化”机制。

以及:

如果你的意思是通过xpcom通过远程进程控制Mozilla,则据我所知,这是不可能的。

您可能希望查看之前提到的Webdriver项目WindmillMozMill,这两个项目都支持通过Python自动化Firefox/Gecko/XULRunner。


2
如果你正在测试一个Web应用并想要使用Python编写代码,可以查看Selenium RC,这样你可以在所有浏览器上使用相同的API。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接