PhantomJS其他语言调用

简介: <div class="markdown_views"><h2 id="phantomjs其他语言调用"> PhantomJS其他语言调用</h2><p>我本身是使用Java语言的,所以会考虑phantomjs如何与java交互。目前考虑方案有如下两种:</p><h4 id="1-java-process">1. Java Process</h4><p>抓取逻

PhantomJS其他语言调用

我本身是使用Java语言的,所以会考虑phantomjs如何与java交互。目前考虑方案有如下两种:

1. Java Process

抓取逻辑还是用Javascript,封装成JS脚本,用Java Process去调用和管理每个Phantomjs的进程,但是多开进程,估计对机器性能要求比较高。而且Java只能通过phantomjs的标准输出,来判断脚本执行情况。

2.Phantomjs Webdriver

webdriver会开启一个http服务,其他语言可以通过这种http的方式,以WebDriver Wire Protocol协议(貌似是selenium规定的远程交互协议?)与phantomjs交互,这种方式是目前phantomjs自带的

webdriver源自于开源项目ghost driver,并合并到phantomjs。对于java语言,ghostdriver还封装了phantomjs的java库phantomjsdriver,这个库基于selenium的接口与协议。使用过selenium java api的朋友应该能直接用。

应该说,selenium的headless方案就是phantomjs + phantomjsdriver了吧。

看了下phantomjsdriver的api,封装了常用的几个功能,比如click,getTitle,findElement等。没封装的可以用执行js命令的api方式来调用。

性能上,主要看webdriver内部到底是怎么实现的。webdriver使用javascript语言写的(哇靠javascript各种全栈啊),肯定不是每个session一个进程了。如果一台webdriver撑不住,貌似可以用Selenium Grid hub来做中转,链接多台webdriver。

关于如何使用,直接看test模块

结论

很明显拉,webdriver比较适合做成服务,或者批量跑一些东西。当然可控性话,充分利用phantomjs的功能,还是直接用js脚本执行。

目录
相关文章
|
7月前
|
JavaScript 前端开发 测试技术
使用Selenium执行JavaScript脚本:探索Web自动化的新领域
本文介绍了如何在Selenium中使用JavaScript解决自动化测试中的复杂问题。Selenium的`execute_script`函数用于同步执行JS,例如滑动页面、操作时间控件等。在滑动操作示例中,通过JS将页面滚动到底部,点击下一页并获取页面信息。对于只读时间控件,利用JS去除readonly属性并设置新日期。使用JS扩展了Selenium的功能,提高了测试效率和精准度,适用于各种自动化测试场景。
|
7月前
|
JavaScript 前端开发 Java
java调用js实现富文本过滤
java调用js实现富文本过滤
|
Web App开发
Python+selenium 技术篇-浏览器后台运行
Python+selenium 技术篇-浏览器后台运行
779 0
|
7月前
|
JavaScript 前端开发 开发工具
Python之JavaScript逆向系列——3、浏览器的开发工具——源代码的使用
Python之JavaScript逆向系列——3、浏览器的开发工具——源代码的使用
57 0
|
Web App开发 自然语言处理 JavaScript
浏览器原理 13 # 编译器和解释器:V8是如何执行一段JavaScript代码的?
浏览器原理 13 # 编译器和解释器:V8是如何执行一段JavaScript代码的?
187 0
浏览器原理 13 # 编译器和解释器:V8是如何执行一段JavaScript代码的?
|
前端开发 JavaScript Python
Python之Phantomjs无界面浏览器
Python之Phantomjs无界面浏览器
Python之Phantomjs无界面浏览器
|
前端开发 JavaScript 算法
Python调用浏览器时如何用JS去弹窗?
Python调用浏览器时如何用JS去弹窗?
351 0
Python调用浏览器时如何用JS去弹窗?
|
Python
Python:pyscript.js浏览器中运行Python代码
Python:pyscript.js浏览器中运行Python代码
172 0
|
移动开发 JavaScript 前端开发
Brython 在浏览器用Python取代JavaScript
看到的一个有趣的 Open Source 项目(Brython), 虽然我觉得没什么实用性~ XD 不过, 既然是蛇年, 就让 浏览器 也 蛇化 吧~
325 0
Brython 在浏览器用Python取代JavaScript
|
XML JavaScript 前端开发
可在JVM、nodejs和浏览器运行的静态编译语言 Ceylon 发布 1.0 版
Ceylon是一个可运行于JVM、nodejs和浏览器的静态OO语言。
168 0
可在JVM、nodejs和浏览器运行的静态编译语言 Ceylon 发布 1.0 版