基于Apple WebKit 的windows 版浏览器 (2)

浏览器大战已经过去很长时间了,Firefox  的出现使得战争得以继续。

然而个人觉得,Firefox  其实名不符实。首先Firefox 的架构是底层有好几个运行时支持框架

                XPCom,用来模拟 COM

              JS:     script 引擎

             Render : 真正的排版与渲染引擎,包括XUL, HTML解释

              XPConnect,    用来xul中衔接 javascript。

这些框架合起来构成所谓 的 gecko ,然后 mozilla的其他产品使用XUL构造出来。

这个框架导致gecko 引擎庞大而臃肿,而且其不可能高效,而且实际上也只是比IE这样的慢浏览器快一点而已。

对于gecko 引擎的庞大臃肿,我是很有体会的。当初,想将gecko 嵌入我的一个软件中,开始感觉不错,下载那个 sdk,果然庞大,文件不少。 使用C++来嵌入,接口已经不少了,但只够简单使用,更多的接口需要自己从IDL文件产生,或者到mozilla的源码目录下去拷贝。更要命的是,我想改改引擎中的某处功能,面对mozilla的源码,真不容易定位于修改了。怪不得当初apple与去年的adobe都没有选择 gecko了,代码是在太臃肿了。

webkit 的代码要简洁得多,目录组织与命名使得很快就能熟悉上手,我感觉太容易了。要知道,webkit应为缺人,

windows版其实没有完成的,我很快就可以进行深层次的改写了。

 附:浏览器下载http://download1.csdn.net/down3/20070606/06151506600.rar

 

jBrowserDriver是一款采用纯Java编写的无图形化浏览器,基于WebKit,和Selenium兼容。通过Maven安装:<dependency>   <groupId>com.machinepublishers</groupId>   <artifactId>jbrowserdriver</artifactId>   <version>0.16.1</version> </dependency>使用示例代码:import org.openqa.selenium.WebDriver; import com.machinepublishers.jbrowserdriver.Timezone; import com.machinepublishers.jbrowserdriver.JBrowserDriver; import com.machinepublishers.jbrowserdriver.Settings; public class Example {   public static void main(String[] args) {     // You can optionally pass a Settings object here,     // constructed using Settings.Builder     JBrowserDriver driver = new JBrowserDriver(Settings.builder().       timezone(Timezone.AMERICA_NEWYORK).build());     // This will block for the page load and any     // associated AJAX requests     driver.get("http://example.com");     // You can get status code unlike other Selenium drivers.     // It blocks for AJAX requests and page loads after clicks      // and keyboard events.     System.out.println(driver.getStatusCode());     // Returns the page source in its current state, including     // any DOM updates that occurred after page load     System.out.println(driver.getPageSource());     // Close the browser. Allows this thread to terminate.     driver.quit();   } }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值