标签: phantomjs

JS测试:从CasperJS和PhanthomJS触发jQuery keypress事件

我的网页有一个输入键按下事件的监听器.我试图运行下面的casperjs代码来触发此事件,但没有成功.

虽然没有提示错误,但是(evaluate)函数返回true并且代码在我的chrome控制台上工作正常,应该向服务器发送请求的函数结果永远不会发生

casper.then(function(){
    var result = this.evaluate(function(term){
        var search_form_id = "#search-form";
        $(search_form_id).val(term);

        jQuery(search_form_id).trigger(jQuery.Event('keypress', {which: 13, keyCode: 13}));

        return true;
    }, 'Techcrunch');
    console.log(result);
});
Run Code Online (Sandbox Code Playgroud)

这是关于PhantomJS和jQuery事件的任何问题吗?

javascript testing jquery phantomjs casperjs

1
推荐指数
1
解决办法
2898
查看次数

如何在Javascript中写入CSV文件

我有一个脚本(使用PhantomJS)来测试加载网页所需的时间.我想弄清楚的是如何写入将页面加载到.csv文件所花费的时间的结果.然后,如果我再次重新运行测试,它将另一个结果添加到.csv文件中.

码:

var page = require('webpage').create(),
    system = require('system'),
    t, address;
var pageLoadArray = [];
var csvContents = "";
fs = require('fs');

if (system.args.length === 1) {
    console.log('Usage: loadspeed.js <some URL>');
    phantom.exit(1);
} else {
    t = Date.now();
    address = system.args[1];
    page.open(address, function (status) {
        if (status !== 'success') {
            console.log('FAIL to load the address');
        } 
        else {
            t = Date.now() - t;
            console.log('Page title is ' + page.evaluate(function () {
                return document.title;
            }));

            if(t>7000){
                console.log('Loading time was too long... …
Run Code Online (Sandbox Code Playgroud)

javascript csv jenkins phantomjs

1
推荐指数
1
解决办法
8285
查看次数

将机械化与 watir + phantomjs 一起使用

我正在尝试将从 phantom js 生成的 html 插入到机械化对象中,以便我可以轻松地搜索它。我试过以下方法无济于事...

b = Watir::Browser.new :phantomjs
url = "www.google.com"
b.goto url

agent = Mechanize.new
#Following is not executed at same time...
#Error 1: lots of errors
page = agent.get(b.html)

#Error 2: `parse': wrong number of arguments (1 for 3) (ArgumentError)
page = agent.parse(b.html)

#Error 3 last ditch effort: undefined method `agent' 
page = agent(b.html)
Run Code Online (Sandbox Code Playgroud)

当我思考它时,我开始怀疑我是否可以机械化现有的 html 对象......我最初是通过以下方式进入它的:http: //shane.in/2014/01/headless-web-scraping/ & http: //watirmelon.com/2013/02/05/watir-webdriver-with-ghostdriver-on-osx-headless-browser-testing/

ruby macos mechanize watir-webdriver phantomjs

1
推荐指数
1
解决办法
1455
查看次数

phantomjs是否支持Bayeux或WebSockets?

只是简单的问题,因为我没有在文档中找到任何引用..

bayeux websocket phantomjs faye

1
推荐指数
1
解决办法
3820
查看次数

背景颜色phantomjs

phantomjs会跳过div或任何类型元素的背景颜色.默认情况下,它是在CSS中设置的,但我也尝试使用Javascript或balise中的样式参数进行设置,但没有任何效果.我没有任何背景颜色.

我怎么解决这个问题?

css phantomjs

1
推荐指数
1
解决办法
1360
查看次数

phantomjs命令行永远不会工作

我正在尝试在phantomjs提示符下运行命令行(以创建网站的PDF屏幕截图)

所以我发起了phantomjs.exe并在phantomjs>之后输入了:

phantomjs rasterize.js http://www.google.com test1.pdf
Run Code Online (Sandbox Code Playgroud)

无论我输入什么,我都会得到一个

预期标识符,但发现'rasterize'

phantomjs:// repl-input:全局代码中的1

(栅格化或我输入的任何其他东西)

即使是帮助,我也不能打电话给(-h/--help)http://phantomjs.org/api/command-line.html

phantomjs.exe和rasterize.js都在我的PC上的同一文件夹中.

我在语法上做错了什么?谢谢

syntax command-line command-prompt phantomjs

1
推荐指数
1
解决办法
3536
查看次数

Phantomjs无法找到javascript文件

我是Phantomjs的新手,我刚下载了适用于Windows的版本.我打开了bin文件夹并在phantomjs.exe中运行命令:

phantomjs hello.js
Run Code Online (Sandbox Code Playgroud)

但它给了我错误:预期标识符bu找到"hello"而不是

然后我运行这个命令:

hello.js
Run Code Online (Sandbox Code Playgroud)

我收到此错误:无法找到变量hello

我的hello.js中有以下代码

console.log('Hello, world!');
phantom.exit();
Run Code Online (Sandbox Code Playgroud)

在同一个文件夹中hello.js和phantomjs.exe,但是找不到js文件.我在网上搜索但找不到合适的解决方案.

谢谢你的时间

javascript windows phantomjs

1
推荐指数
1
解决办法
2104
查看次数

如何在PhantomJS中包含多个JavaScript库?

我正在使用PhantomJS根据我通过JS操作的HTML canvas元素的状态生成一系列图像.这个画布操作依赖于3个独立的JS库和我在其中调用的一些内联脚本window.onload.

PhantomJS文档包括如何将一个JS库,但不包括如何将几个.

任何人都可以提供正确的语法来包含几个JS库,然后在运行期间运行一些脚本window.onload吗?

javascript phantomjs

1
推荐指数
1
解决办法
1233
查看次数

安排 selenium 在远程服务器上运行

我需要在远程服务器上运行 selenium,因为服务器没有屏幕我使用 PhantomJS 作为 Web 驱动程序。这是我的代码:

import time
import os,sys
reload(sys)  
sys.setdefaultencoding('utf8')
import re
from selenium import webdriver


url = 'https://wiki.python.org/moin/HowTo/Sorting'

driver_1 = webdriver.PhantomJS()
driver_1.get(url)
content = driver_1.page_source
Run Code Online (Sandbox Code Playgroud)

在我的电脑上,它工作正常,但在那之后,我会打开其他页面,所以我需要代码继续运行一段时间。我正在从终端运行脚本:

python my_script.py
Run Code Online (Sandbox Code Playgroud)

并且脚本将在我访问服务器的同一终端上执行,因此我将无法断开连接,或者如果连接丢失,脚本将停止,我该如何处理这个问题?

python selenium remote-server phantomjs

1
推荐指数
1
解决办法
1063
查看次数

Base64:如何编码/解码页面的整个 HTML 代码

我正在尝试对页面进行编码:

btoa(document.querySelector('html').innerHTML)
Run Code Online (Sandbox Code Playgroud)

但它不适用于这样的数据,有谁知道,它是如何做到的?

javascript firefox base64 google-chrome phantomjs

1
推荐指数
1
解决办法
1618
查看次数