页面自动化

Posted 肥肥鱼与鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面自动化相关的知识,希望对你有一定的参考价值。

因为可以操纵负载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

以上是关于页面自动化的主要内容,如果未能解决你的问题,请参考以下文章

Python 自动化 - 浏览器chrome打开F12开发者工具自动Paused in debugger调试导致无法查看网站资源问题原因及解决方法,javascript反调试问题处理实例演示(代码片段

前端防扒代码片段

前端防扒代码片段

前端防扒代码片段

前端防扒代码片段

前端防扒代码片段