我的网页有一个输入键按下事件的监听器.我试图运行下面的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事件的任何问题吗?
我有一个脚本(使用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) 我正在尝试将从 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/
只是简单的问题,因为我没有在文档中找到任何引用..
phantomjs会跳过div或任何类型元素的背景颜色.默认情况下,它是在CSS中设置的,但我也尝试使用Javascript或balise中的样式参数进行设置,但没有任何效果.我没有任何背景颜色.
我怎么解决这个问题?
我正在尝试在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上的同一文件夹中.
我在语法上做错了什么?谢谢
我是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文件.我在网上搜索但找不到合适的解决方案.
谢谢你的时间
我正在使用PhantomJS根据我通过JS操作的HTML canvas元素的状态生成一系列图像.这个画布操作依赖于3个独立的JS库和我在其中调用的一些内联脚本window.onload.
该PhantomJS文档包括如何将一个JS库,但不包括如何将几个.
任何人都可以提供正确的语法来包含几个JS库,然后在运行期间运行一些脚本window.onload吗?
我需要在远程服务器上运行 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)
并且脚本将在我访问服务器的同一终端上执行,因此我将无法断开连接,或者如果连接丢失,脚本将停止,我该如何处理这个问题?
我正在尝试对页面进行编码:
btoa(document.querySelector('html').innerHTML)
Run Code Online (Sandbox Code Playgroud)
但它不适用于这样的数据,有谁知道,它是如何做到的?