selenium python停止Firefox加载

在用selenium+python+Firefox时发现:

driver.get(“http://www.itamt.com”)

程序会保持执行一直到整个页面加载完毕或用户停止页面加载(点击Firefox上的停止按钮),但是有的网页会当有使用外部资源时会一直处于加载状态,特别当使用墙外资源时这个情况就更加严重了。

可翻遍了selenium.webdriver.Firefox也找不到可以stop loading的API。最后不得不放弃,不知道哪位还有办法吗?

我现在的解决方案是不用Firefox driver,改用phantomjs的,selenium+python+phantomjs的环境下貌似自带了GhostDriver(我搞不清楚是phantomjs还是selenium python带的),安装也十分容易。但目前还没有空把以前的项目都迁移过来。

到时再作作这方面的介绍。

FlashFirebug 3.0

FlashFirebug 3.0已经推出!
新版本重写显示对象树面板,整合了FlashInspector,也修复了大量的bug。
除此之外,FlashFirebug 3.0增加了专业版,专业版多出的功能是控制台(Console),通过控制台你可以运行AS3代码。我想对绝大多数用户来说非专业版的功能已经够用了。
更多信息请访问:http://www.o-minds.com/products/flashfirebug

FlashInspector、FlashFirebug与Flash Builder的概要分析工具冲突

FlashInspector与FlashFirebug(2.0)和Flash Builder的概要分析工具(Profiler)都会设置mm.cfg的PreloadSWF参数, 所以会产生冲突, 导致Flash Builer的Profiler失效. 如果遇到这种情况, 可以先禁用FlashInspector和FlashFirebug(2.0), 或者为Firefox建个新的Profile.

FlashInspector 0.2.3更新

Flash Inspector更新至0.2.3. 加入了我最期待的一个功能:与FlashFirebug整合. FlashFirebug是对Flash开发很有用的一个调试工具. 但是使用它必须在swf里面先导入FlashFirebug的一些类. 通过Flash Inspector就不必这么麻烦了.

Flash Inspector采用了插件机制, 对FlashFirebug的支持, 其实就是编写一个插件负责与FlashFirebug交互. 要使用这个插件需要Firefox安装:Firebug(对于使用Firefox的前端开发者这应该是必备了吧?), FlashFirebug, Flash Inspector.
安装之后, 在状态栏上右击Flash Inspector的图标, 勾选”FlashFirebug”. 刷新一下页面.

不过FlashFirebug本身是针对自主项目的, 要求swf必须是”allowScriptAccess”的. 所以网页的swf不满足这个条件就没办法使用Flash Inspector的这个功能. Flash Inspector会尝试10次连接Flash Firebug, 如果连接失败, 会在左上角的工具栏中显示一个tip.

这次更新也加了对Firefox 4的支持.

关于在FlashInspector主页找不到其它版本的问题

现在访问Flash Inspector的主页,只能看到FlashInspector 0.1.7版本。其它版本不是被删除了,而是因为被禁用而没有列出来。

下面是Flash Inspector的组件管理面板的截图,可以看到很基本上所有版本都被禁用了。

Mozilla(应该是在上周)修改了关于附加组件的策略,Flash Inspector所有未审核过的版本全部被禁用了。Flash Inspector 0.1.7是Mozilla唯一审核过的一个版本。坦白讲这挺挫伤对Flash Inspector开发的积极性,因为Flash Inspector被审核很难通过,而一个不为人知不为人用的东西,做了有虾米意义呢?

关于Firefox大量组件的审核,我非常理解Mozilla,想象得出来他们的工作量非常的大。
Flash Inspector很难通过审核的原因:Flash Inspector包含了三个的swf文件,提交新版本后,最快一周内,开始接受审核,审核人员可以很容易看到JS、文本文件的哪些代码修改、增减,但是只能看三个swf文件发生了改变,为了保证这些文件是安全的,我会收到一封邮件要求提供这三个swf文件的源代码,当然我立马就给发了过去,啥子时候能审核通过真是不知道。

FlashInspector 0.2.2更新

FlashInspector 0.2.2,更新主要包括:

  • 整合Transform3DTool,这样Flash Inspector就支持对显示对象进行3D变形(transform)了。不过遗憾的是Transform3DToolFlash Player 10下存在严重Bug,在Flash Player 10.1下没问题。这个bug还没着手解决,尚不知道具体原因。总之,如果你不想把FirefoxFlash Player升级到10.1,也就没有必要更新FlashInspector 0.2.2了。
  • 设置Firefoxdom.ipc.plugins.enabled.npswf32.dllfalse,这个属性默认是为true,设置成false是为了防止Flash Player报错时,Firefox整个假死。详见
  • 去除as3swf的使用。as3swf真的很给力,但它体积宠大,而且Flash Inspector用到as3swf的只有SwfInfoView这个插件,解析swf的尺寸、背景色等信息,杀鸡焉用牛刀?为此Flash Inspector编写自身的swf解析类。

最后,希望FlashInspector对你有用。

设置默认浏览器指向Firefox的某个profile

如果你的Firefox使用多个profile, 那会存在这样的一种情况: 已经把Firefox设置默认浏览器了, 但是启动Firefox使用的都不是期望的profile, 也就是说: 希望默认用某个profile来启动.

设置默认启动的profile需要修改Firefoxprofiles.ini文件, 该文件的路径是(Windows XP):C:\Documents and Settings\Administrator\Application Data\Mozilla\Firefox

打开profiles.ini后, 把default=1移到你期望的那个profile的最后一行.

注意, 如果你设置了这个profile启动参数为-no-remote, 需要把这个profile-no-remote去掉.
最后重启Firefox

参考文章:http://hotoo.googlecode.com/svn-history/r294/blog/firefox-profile-and-multi-instance.html

...主账户启动时不带<em>-no-remote</em>参数,其他账户带此参数启动,此时从外部程序打开的链接,会在此不带<em>-no-remote</em>参数的主账户中启动...

FlashInspector 0.2.1更新

FlashInspector 0.2.1发布了。

  1. 修复了状态栏上葫芦娃图标无法关闭FlashInspector的问题。这是这个版本主要解决的问题。
  2. “全局错误处理”插件功能增强。

  3. 现在“错误信息”面板多了一个按钮:“错误警告”。“错误警告”指的是当FlashInspector捕获到错误时,会直接跳出错误信息面板。通过“错误警告”按钮你可以开启、关闭该功能。另外错误发生时左上角操作栏的“全局错误处理”按钮会以tip形式显示当前记录的错误个数。

我的开发环境是Windows XP,其它系统下无法完全测试,可能在其它系统下会有点问题。目前所知,FlashInspector的“全屏”插件在Windows 7下会导致Firefox失去响应。如果您发现了任何问题欢迎留言告之。

FlashInspector 0.2.0更新

FlashInspector更新到0.2.0版本。0.2.*阶段主要是FlashInspector插件(Plugin)机制的完善,各个功能模块都是以插件的形式编写的。FlashInspector的核心功能有三个部分:鼠标查看、结构树、属性面板,这个三个功能模块也是以插件形式编写。当前版本不提供对这个三个核心插件的“禁用”,除此之外,另外一个功能:查看类型设置,也不提供“禁用”。

FlashInspector0.2.0主要添加的功能:

  • 功能选择面板,通过这个面板选择要启用的功能。其实也就是FlashInspector插件选择面板。默认是全部开启的。通过鼠标右击Firefox状态栏上的葫芦娃图标打开该面板。当前提供的插件有:Flash Stats(性能数据), Full Screen(全屏), Global Error Keeper(全局处理错误), ReloadApp(重载swf), DownloadAll(资源下载), SWFInfoView(swf属性面板).
    FlashInspector插件选择面板
    除了上述的这些插件,FlashInspector其实还有RightMenu(右键菜单)、KeyManager(快捷键)插件,但个人觉得不是非常必要。
  • 资源下载插件(DownloadAll),这是FlashInspector0.2.0新添加的插件,可以浏览swf内部加载的资源(图片、swf)。DownloadAll会按照路径(url)组织显示资源。
    FlashInspector资源下载插件

当前FlashInspectorSWFInfoView使用了as3swf库,这个库较庞大,而且要求Flash Player 10,再加上FlashInspector本身体积庞大,所以最终FlashInspector的体积惊人。其实SWFInfoView需要的只是解析swf的头部信息,因此后续可能会编写FlashInspector自己的swf头部解析类。

FlashInspector其实就是对tInspector的封装,tInspector的代码并没有经过仔细的优化、设计,比如,它甚至没有列表(List)组件(虽然需要用到得地方真得很多),列表组件的渲染方式也是有多少项就构造多少个显示对象,内存回收、对象置空都没有仔细编写。所以,如果你在项目中使用了tInspector,建议你只把它当成开发、调试的工具,不要把它编译进最终发布的项目版本中。

另外,如果你是使用tInspector来调试、开发swf,那么更建议装个Firefox再装上FlashInspector来工作,毕竟tInspector体积不小,花掉的编译时间也不少,而且还会不断修改API

个人的原因,除非必要,接下来的两个月都不会对FlashInspectortInspector修改。不过会有个对Firefox 4支持的更新。

最后,希望FlashInspector对你有用:)