页面自动化
因为可以操纵负载phantomjs和web页面,各个页面进行完善的自动化。
DOM操作
由于这个脚本可以被执行,就像它是运行在Web浏览器标准DOM脚本å’ŒCSS选择器很好的工作。
下列所述useragent.js
该实施例证明阅读textContent
元素的属性原我信息分隔符myagent
:
var page = require('webpage').create(); console.log('The default user agent is ' + page.settings.userAgent); page.settings.userAgent = 'SpecialAgent'; page.open('http://www.httpuseragent.org', function(status) { if (status !== 'success') { console.log('Unable to access network'); } else { var ua = page.evaluate(function() { return document.getElementById('myagent').textContent; }); console.log(ua); } phantom.exit(); });
上述例子还演示了一种方式来定制用户代理在远程Web服务器。
使用jQuery和其他库
作为1.6的版本,则还能够包括使用jQuerypage.includejs到页面如下:
var page = require('webpage').create(); page.open('http://www.sample.com', function() { page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() { page.evaluate(function() { $("button").click(); }); phantom.exit() }); });
上面的片段会打开一个网页,包含了jQuery库的页面,然后单击所有的按钮,使用jQuery。然后离开该Web页面。确信page.includejsExit语句内或者它可能过早地退出之前的JavaScript代码。
网页实例
假设你有一个网页的实例:
var page = require('webpage').create();
可提取和执行?
属性
page.canGoForward -> boolean
如果window.history。他们必须有效行动
page.canGoBack -> boolean
如果window.history。回去也是一个有效的行动
- page.clipRect -> object
可以设置成以下形式:
{ top: 0, left: 0, width: 1024, height: 768 }
它规定了该部分屏幕将在屏幕截图
page.content -> string
整个HTML页面内容
page.cookies -> object
在饼干上。他们有这样的形式:
{ 'name' : 'Valid-Cookie-Name', 'value' : 'Valid-Cookie-Value', 'domain' : 'localhost', 'path' : '/foo', 'httponly' : true, 'secure' : false }
page.customHeaders -> object
要做的事情
page.event -> object
含有改性剂和钥匙要做的事情
page.libraryPath -> string
库路径的电流,通常是脚本的目录:从
page.loading -> boolean
如果页面已经被加载或不
- page.loadingProgress -> number
在已加载百分比。装置100,该页面被加载。
page.navigationLocked -> boolean
要做的事情
page.offlineStoragePath -> string Where the sqlite3 localstorage and other offline data are stored. page.offlineStorageQuota, ‘number
在字节的配额,可脱机保存
page.paperSize -> object
但现实生活中类似cliprect大小如A4纸。在示例性的深度检查这个。
page.plainText -> string
在纯文本元素的页面
page.scrollPosition -> object
与当前滚动位置的对象的以下形式:
{ left: 0 top: 0 }
page.settings -> object
该设置仅对当前的UserAgent串page.settings。特别经理人UserAgent=′′;
page.title -> string
页面标题
page.url -> string
页面的URL
page.viewportSize -> object
浏览器尺寸的如下形式:
{ width: 1024, height: 768 }
page.windowName -> string
浏览器的名称指定的窗口Wm。
page.zoomFactor -> number
缩放因子1的正常放大。
函数
- page.childframescount
- page.childframesname
- page.close
- page.currentframename
- page.deletelater
- page.destroyed
- page.evaluate
- page.initialized
- page.injectjs
- page.javascriptalertsent
- page.javascriptconsolemessagesent
- page.loadfinished
- page.loadstarted
- page.openurl
- page.release
- page.render
- page.resourceerror
- page.resourcereceived
- page.resourcerequested
- page.uploadfile
- page.sendevent
- page.setcontent
- page.switchtochildframe
- page.switchtomainframe
- page.switchtoparentframe
- page.addcookie
- page.deletecookie
- page.clearcookies
回调处理程序/
列表中的所有页面的事件:
- oninitialized
- onloadstarted
- onloadfinished
- onurlchanged
- onnavigationrequested
- onrepaintrequested
- onresourcerequested
- onresourcereceived
- onresourceerror
- onresourcetimeout
- onalert
- onconsolemessage
- onclosing