任何读过马修•加勒特作品的人都知道很多专门用来销售的软件是不靠谱的。一些Linux倡导者宣称开放自由而且免费的软件比封闭的专门用来谋利的软件更安全,然而这里有一个公开的秘密,那就是大量受欢迎的Linux桌面应用软件有很多已知而且没被修复的漏洞。我很少听到有人讨论这个,就好像它不能被讨论一样,可是它困扰了我很久。
Web 漏扫的爬虫和其他的网络爬虫的技术挑战不太一样,漏扫的爬虫不仅仅需要爬取网页内容、分析链接信息, 还需要尽可能多的触发网页上的各种事件,以便获取更多的有效链接信息。 总而言之,Web 漏扫的爬虫需要不择手段的获取尽可能多新的链接信息。
官网下载地址:http://phantomjs.org/download.html
项目中需要用到webkit,调研了webkit源码,但是源码比较庞大,用xcode编译很方便,但是本人不熟悉mac下编程,所以研究了一段时间之后只能作罢。后来了解到Qtwebkit做了不少精简的工作,而且qt对跨平台比较友好,所以转而研究Qtwebkit。研究第一步是要编译Qt和Qtwebkit,本文记录了VS2015静态编译Qt5.5.1的过程,参考了网上相关文章,做了一些补充和修改。
WebKit是一个跨平台的 Web 浏览器引擎,据说苹果的Safari、谷歌的 Chrome 浏览器都是基于webkit框架来开发的,而且WebKit还支持移动设备和手机,包括 iPhone 和 Android 手机都是使用WebKit做为浏览器的核心。
Qt5中,模块已经非常细化了,关于模块的详细信息可以在帮助文档中看到。Qt的帮助文档叫Qt助手。为了方便使用,我们一般都是把它固定在任务栏。
方法一、使用PyQt4的QtWebKit组件 #!/usr/bin/env python # -*- coding: UTF-8 -*- # 来源 http://www.oschina.net/code/snippet_219811_14920 import sys import os.path from PyQt4 import QtGui,QtCore,QtWebKit class PageShotter(QtGui.QWidget): def __init__(self,url,fil
该文章讲述了通过Qt将HT for Web嵌入QtWebKit的解决方案,介绍了HTML5和WebKit在桌面和移动设备上的交互问题,并提供了htconfig配置方案来解决该问题。同时提到了JavaScript for Automation在桌面系统上的应用前景。
HTML5已经足够强大,但很多应用还是需要独立桌面客户端的解决方案,毕竟能操作本地文件等功能还是很多工具类软件短期内无法完全采用云方案替代。 最近Adobe发布的http://brackets.io也
本文介绍了HTML5通过WebKit嵌入打包成本地应用的方法和遇到的鼠标操作问题。HT for Web通过使用QtWebKit渲染引擎提供了本地Web UI的解决方案。然而,由于HT将QtWebKit错误地识别为可触摸的移动终端环境,因此需要使用htconfig设置来强制HT使用常规的mouse事件处理。通过使用htconfig设置,可以解决HT for Web嵌入QtWebKit的客户端解决方案中的鼠标操作问题。
HTML5已经足够强大,但很多应用还是需要独立桌面客户端的解决方案,毕竟能操作本地文件等功能还是很多工具类软件短期内无法完全采用云方案替代。
最近在Windows7下将Qt4.8.4+MSVC2008的项目移植到QT5.2下时,遇到了一些小问题:
错误现象 近日由于项目需要,想要学习一下QWebView的使用。于是简单的建立了一个Qt工程,并编写了如下代码: #include <QApplication> #include <QtWebKitWidgets/QWebView> #include <QUrl> int main(int argc, char *argv[]) { QApplication a(argc, argv); QWebView view; view.load(QUrl("http://w
更新:RenderLayer树的绘制对RenderObject的绘制,同时补足绘制阶段的描述。 QtWebkit里,QWebView,QWebPage和QWebFrame的关系如下: Q
PyMol是一个类似于VMD的分子可视化工具,也是在PyQt的基础上开发的。但是由于其商业化运营,软件分为了教育版、开源版和商业版三个版本。其中教育版会有水印,商业版要收费,但是官方不提供开源版本的安装方法。按照参考链接1的内容,可以在Windows系统上面安装一个开源版本的PyMol,但是该发行版只有Windows平台的编译包。所以如果需要在Linux上安装PyMol,就只能在Github上面下载源码进行编译构建。
在内置应用Tweaks里->Startup Application添加fcitx为自启动项
http://github.com/AdamN/python-webkit2png/ 一个使用pyqt4里的QtWebkit实现的命令行的web截图软件,可用于服务器端的web截图 貌似是个比较新的项目,以前找过类似的工具,没有多好用的,但是这个真的很好用,看一下参数就知道了
QT在5.6之前可以webkit浏览器框架访问网页,在之后就去掉了webkit,加入了QWebEngineView框架,但是QWebEngineView只能支持VS编译器,mingw编译器不支持。 在后面的高版本QT里,mingw编译器如果要加载网页可以使用两种方式。
近期由于另外一个项目需要用 vs2015 ,于是把 Qt 也升级到了 5.6.0 。由于项目需要兼容 Windows xp ,所以需要自己编译 Qt 。这里大致整理一下编译的过程。
Python自带了GUI模块Tkinter,只是界面风格有些老旧。另外就是各种GUI框架了。
【CentOS环境】 http://centos-packages.com/7m
说起到qt的编译,真是领人痛心啊,不仅编译选项繁多,而且编译时间比较久,总是能使想编译qt源码的人望而却步,呵呵。。。我就是其中一个,不知道从什么时候开始就想着把qt的源码编译一下,也尝试过几次,但都以失败而告终,编译的时候总是不得要领,网上的相关文章也是一大片,但总是五花八门,因为不同人的机器是不一样的,编译的源码时可能会出现不一样的错误信息。最近偶然间看到qtcn博客中有人用vs2013编译qt5.6,他也给出了编译的博客地址Qt 5.6.0 动态编译(VS2013 x86 target xp openssl icu webkit) ,我顿时又来了兴趣,兴致勃勃的去到这个地址阅读了作者的编译步骤,开始了新的编译里程。
我使用的开发环境是:Win7+Qt 4.8.5开发库+qtcreator-2.8.0+VS2008编译器MSVC。
由于实验室需要,准备配置新的服务器,之前一直使用windows比较多,linux比较少,于是开始重新学习linux各种环境的搭建.
PhantomJS 非常不错,因为是使用的 QtWebKit 浏览器内核渲染页面,基本可以和真正浏览器保持一致。
https://www.tutorialspoint.com/pyqt/pyqt_introduction.htm
在游戏中显示网页? 为什么要这么做呢? 其实可以做不少的应用: 嵌入帮助文档, 比如技能介绍, 可以做得很漂亮, 各种排版方式用传统UI做起来很费劲 活动公告页面直接在游戏中查看 游戏内的BBS/社区
描述:Phantomjs /ˈfæntəm/js是一个基于webkit的JavaScript API实现网页前端自动化测试。它使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情它都能做到,可以使用js编写业务脚本来请求、浏览和操作页面,可以将它看做一个是一个无界面浏览器。
长时间以来,一直针对Linux 服务器开发后台程序,每天面对的是黑框框,输出只有日志文件。偶尔需要模拟客户端测试,要么是写几行php代码,在浏览器上点一点,要么是写个小Python脚本在shell中执行一下。写了一些测试用的小脚本以后,越来越钟爱这种脚本测试方式了。想到什么测试case,三下五除二改改脚本就能测了。测试小脚本多多少少也写了十来个了。其实自己Php和Python的底子都不好,只是略懂一二,居然大部分问题都能google一下轻松解决,主要是也不需要使用神马高级特性哈哈。 最近的项
QtCore 包含了核心的非GUI功能。此模块用于处理时间、文件和目录、各种数据类型、流、URL、MIME类型、线程或进程。 QtGui 包含类窗口系统集成、事件处理、二维图形、基本成像、字体和文本。 QtWidgets 模块包含创造经典桌面风格的用户界面提供了一套UI元素的类。 QtMultimedia 包含的类来处理多媒体内容和API来访问相机和收音机的功能。 QtBluetooth 模块包含类的扫描设备和连接并与他们互动。描述模块包含了网络编程的类。这些类便于TCP和IP和UDP客户端和服务器的编码,使网络编程更容易和更便携。
本文介绍了一种基于Qt的Webkit框架实现的浏览器方案,该方案可以加载和渲染网页,支持JavaScript等脚本语言的解析,实现了对网页的爬取和模拟点击等操作。该方案具有高度可扩展性和可定制性,可以广泛应用于各种不同的应用场景。
QT5,VS2012静态编译,所有的库准备充分的话qwebkit也可以静态编译通过,但是我编译的版本使用中如果用了QWEBVIEW控件在连接时会出错。 注:我自己编译的环境是:win server 2012 dc版 , vs2012 with update1,qt-everywhere-opensource-src-5.0.2,perl和rupy都是在qt官方给的地址下的最新的X64的,python是2.7 X64的、、、 本文主要针对qt 5.X版本,qt4.X的依赖没那么多,可以酌情参考下,但是好像用途不大、、 编译器主要针对VS2012,vs2010和mingw的就编译时参数换一个就行了,文中会有简单提起、、、 编译主要是静态编译,但是静态编译的话问题很多,我虽然不报错编译完成,但是使用没测试,已知的是我编译的版本qtwebkit使用时 QWEBVIEW控件在连接时会出错。如果您要是动态编译的话在编译依赖库(icu,openssl)时动态编译就行了,在configure时不要-static选项即可。 虽然我编译通过了,但是还是借鉴了网上很多教程,先发借鉴的链接,尊重版权: http://www.ktao.net/archives/125 //这个编译好像只编译了qtbase,qtwebkit那块原来我准备的连接库不足,没成功,就没再测试。 http://www.cnblogs.com/wader/archive/2013/01/19/qt5_vc2012.html //这个是说动态连接的,但是很对。 http://qt-project.org/wiki/Building_Qt_5_from_Git //官方的编译方法 1、准备编译需要的环境 1.1准备编译器 这个不需要多说了吧?就是安装vs或者mingw、、、 vs系列可以去:http://msdn.itellyou.cn/ 下载,vs2012或者2010别用太低的版本,qt5要用c++11,只有这俩部分支持、、、 mingw您可以用qt官方mingw版的,自带的版本,您也可以自己去下,用tdm-gcc安装方便点:http://tdm-gcc.tdragon.net/download,您也可以自己搜、、 1.2准备其他需要的工具 qt5还需要perl,pyhon,rupy、、 Get Perl from: http://www.activestate.com/activeperl/downloads [activestate.com] Get Python from: http://www.python.org/download/releases/ [python.org] //有说需要用2.7版版本的。3.3的不行,我是用的2.7,没试试3.3的 Get Ruby from: http://www.rubyinstaller.org/ [rubyinstaller.org] 2.准备源码 这个我啥也不用说了吧、、、去官网下载,http://releases.qt-project.org/digia/ 这儿可以下载最新的、、、或者用git下载(这个我也不会用)、、、 2.x配置源码:如果需要静态编译就需要了,动态编译请跳过: 先说vs的:修改 源码目录\qtbase\mkspecs\win32-msvc*\qmake.conf //win32-msvc*,*是您用的vs版本、、、 找到这几句; QMAKE_CFLAGS_WARN_OFF = -W0 QMAKE_CFLAGS_RELEASE = -O2 -MD QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MD -Zi QMAKE_CFLAGS_DEBUG = -Zi -MDd 把MD和MDT改成MT和MTD,如下: //因为md是动态连接运行时库,MT是把运行时库包含到程序里 QMAKE_CFLAGS_WARN_OFF = -W0 QMAKE_CFLAGS_RELEASE = -O2 -MT QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -MT -Zi QMAKE_CFLAG
官网下载对应操作系统的压缩包:https://phantomjs.org/download.html
综合自:https://github.com/qutebrowser/qutebrowser
编者按:缓存能极大提高用户体验,这一点众所周知,下面我们一起来探究Webkit里面的memorycache。 WebKit将资源分为main resouce和sub resource,并提供了相应的cache机制,来提高用户体验。 main resource的cache为pagecache,主要缓存dom和render tree,用于提高history操作(back/forward)的速度。 sub resource的cache则由MemoryCache管理和维护。下面我简要分析下memorycache的主
PhantomJS是一个基于WebKit的JavaScript API,它使用QtWebKit作为它核心浏览器的功能,使用WebKit来编译解释执行JavaScript代码,任何你可以在基于WebKit浏览器做的事情,它都能做到。Selenium是一个用于Web应用自动化程序测试的工具,可以让浏览器自动加载页面,获取需要的数据,Selenium自己不带浏览器,所以需要和PhantomJS、FireFox、Chrome等浏览器结合。
Qt是一个跨平台应用程序和 UI 开发框架。使用 Qt 您只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。
官方的Qt 只有vc10以上的版本 若是想vc9 只能自己编译 so 开始干 搜索资料 1)vc9不能支持webkit的编译 直接删除掉 2)有部分地方 vc9默认支持LONG转ULONG 需要自己改代码 3)需要OPENSSL 4)需要python3.4.3 5)需要activePerl开工 1。下载安装activeperl 2。下载安装python3.4.3 3。编译openssl 0.9.8k perl Configure VC-WIN32 –prefix=C:\Build-OpenSSL-VC9-32 ms\do_ms nmake -f ms\nt.mak nmake -f ms\nt.mak install 4。开始config Qt5 一个bat搞定
在Windows下,Qt官网默认提供的二进制版本大多是32位,目前(2015.01.24)只对VS2013提供了64位版本,如下图所示:
PhantomJS是一个基于webkit的JavaScript API,使用QtWebKit作为它核心浏览器的功能,使用webkit来编译解释执行JavaScript代码。任何你可以在基于webkit浏览器做的事情,它都能做到。它不仅是个隐形的浏览器,提供了诸如CSS选择器、支持Web标准、DOM操作、JSON、HTML5、Canvas、SVG等,同时也提供了处理文件I/O的操作,从而使你可以向操作系统读写文件等。PhantomJS的用处可谓非常广泛,诸如前端无界面自动化测试(需要结合Jasmin)、网络监测、网页截屏等。
Flexx 是一个纯 Python 工具包,用来创建图形化界面应用程序。其使用 Web 技术进行界面的渲染。你可以用 Flexx 来创建桌面应用,同时也可以导出一个应用到独立的 HTML 文档。因为使用纯 Python 开发,所以 Flexx 是跨平台的。只需要有 Python 和浏览器就可以运行。如果是使用桌面模式运行,推荐使用 Firefox 。
最近因为项目需要创建一个基于PyQt4的PDF查看器应用程序,正常来说,我们可以使用PyQt4的QtWebKit模块来显示PDF文件。那么具体怎么实现呢 ?以下就是我写的一个简单的示例代码,演示如何创建一个PyQt4应用程序的PDF查看器:
今天给大家分享了一个我觉得很有趣的东西:图形用户界面(Graphical User Interface,简称 GUI)。
原文链接:https://blog.csdn.net/humanking7/article/details/80393070
离线安装包网址:http://download.qt.io/archive/qt/
PyQt5 是Digia的一套Qt5应用框架与python的结合,同时支持2.x和3.x,官方网站:www.riverbankcomputing.co.uk/news。
下面的例子介绍了GitLab如何切换到Headless Chrome GitLab最近从PhantomJS转变为Headless Chrome,用于前端测试和RSpec功能测试(ruby测试框架)。在这篇文章中,我们会详细介绍这个变化的原因,面临的挑战,以及解决方案。我们希望这能帮助其他人也能进行类似的转变。 我们现在有一个真实可靠的方法在现代浏览器中测试GitLab。当直接运行在Chrome的时候,这个方法已经提高写测试和调试的能力。还迫使我们去面对和清理一些在测试中的hacks(技巧)。 背景 Phan
领取专属 10元无门槛券
手把手带您无忧上云