jjzjj

PhantomJs

全部标签

javascript - 无法并行运行 Selenium PhantomJS 实例

我正在使用Selenium的node.jsAPI针对一系列网页运行PhantomJS实例。我用来在页面上执行操作的代码工作正常,但似乎一次只能运行一个Selenium/PhantomJS实例。这个函数从同一个模块被多次调用,并在客户端处理分页的网上商店中逐步浏览页面(这就是为什么我需要Selenium/PhantomJS环境-从每个页面提取数据)。再一次,代码本身运行良好,但不能并行执行。可能是什么原因造成的?module.exports=function(crawler,page,parsePage,done){"usestrict";var_=require("lodash"),f

javascript - 'require' 与 'import' es6 有何不同?

我遇到了一种我无法解释的行为。根据使用import或require,此测试成功(import)或失败(require)。如果失败,我有以下错误:PhantomJS2.1.1(Windows70.0.0)immutabilityanumberisimmutableFAILEDundefinedisnotaconstructor(evaluating'expect((0,_immutable.List)([1])).toEqualImmutable((0,_immutable.List)([1]))')代码如下:import{Map,List}from'immutable';constex

javascript - 单元测试 : Number. toLocaleString()

我本以为(10000).toLocaleString('de-DE')会返回"10.000"但我却得到了"10000".是否有不支持的原因?有没有更好的方法来格式化数字? 最佳答案 这是一个webkit问题,PhantomJS不想保持国际化......所以不幸的是我们在一段时间内一直坚持这个问题。https://github.com/ariya/phantomjs/issues/12581我最终做的是编写一个自定义匹配器来检查两者,因为我在Chrome和PhantomJS中运行。jasmine.addMatchers({isAnyO

javascript - 如何使用 capybara 和恶作剧检查 Javascript 错误?

我试图弄清楚如何将Poltergeist的这个功能准确地实现到我现有的Capybara测试中,但在阅读此处的文档后我没有任何运气:https://github.com/teampoltergeist/poltergeist我已经包含了以下代码,但是当我运行测试时,当我知道控制台中存在JS错误时,我没有看到任何关于JS错误的警告。我错过了什么吗?我是否必须在终端中传递特定命令以确保检查JS错误?谢谢!require'capybara/poltergeist'Capybara.javascript_driver=:poltergeistoptions={js_errors:true}Cap

javascript - 测试元素是否存在 Vuejs, Karma, Mocha

我是Javascript和Vue.js测试的新手。我通过vue-cli和内置Karma、Mocha和PhantomJS的完整webpack模板安装了vue。我运行了helloworld组件测试,它通过了。我有一个名为my-input.vue的vuejs组件,它生成以下HTML。exportdefault{}我对看起来像这样的组件进行了测试。importVuefrom'vue'import{defaultasMyInput}from'src/components/my-input.vue'describe('my-input.vue',()=>{it('shoulddisplayanin

javascript - PhantomJS - 上传文件而不提交表单

是否可以在不手动提交表单的情况下使用PhantomJS将文件上传到特定页面?我认为使用Content-Type:multipart/form-data是可能的。https://github.com/ariya/phantomjs/blob/master/examples/imagebin.js上的示例工作正常,但我想直接发送POST请求中的文件而不与任何元素交互。有什么建议吗?非常感谢 最佳答案 文件上传可以通过AJAX完成(从xhr2开始-如果您需要支持旧版浏览器,请使用类似jQuery-File-Upload的东西;有agood

javascript - PhantomJs 点击链接或运行页面功能

我刚刚开始习惯PhantomJs,到目前为止它真的很酷。我正在尝试抓取网站并获取有关网站上产品的数据。每个产品页面都加载了可见产品的默认颜色。当您单击色样时,它会通过运行一个函数来换出新颜色。每个可点击的色样元素如下所示:getColor更新该颜色的缩略图和价格。每种可用颜色(swatch_0、swatch_1等)的id递增,传递给getColor的参数也递增。我想用PhantomJs遍历每种颜色并为每种颜色提取相关数据。我已经加载了页面,加载了jQuery,并且可以提取初始加载颜色的数据,但似乎没有任何东西允许我执行点击事件。这是我正在尝试的:page.evalaute(functi

javascript - 如何在运行测试之前让 Karma 的自动监视功能暂停?

我认为Vim保存文件和Karma重新运行我的Jasmine单元测试之间存在竞争条件。以下是演示症状的四个测试运行序列(我chop了错误日志中的极长路径):$karmastartkarma.conf.js--auto-watch[...snipalotofcodingandtestrunning...]PhantomJS1.6(Linux)LOG:'Runningtestsat2013-08-14T08:19:57.252Z'PhantomJS1.6(Linux):Executed4of4SUCCESS(0.307secs/0.013secs)PhantomJS1.6(Linux)LOG

javascript - 使用 PhantomJS 生成单页 .pdf

我正在使用PhantomJS将可变高度的网页导出为pdf。由于pdf可以具有任何页面大小(尽管更像是比率,因为它是矢量的),我想以一种在pdf中创建单个页面以适合整个网页的方式导出它。幸运的是,使用evaluatePhantomJS方法我可以轻松检测页面高度page.includeJs('jquery.js',function(){varpageHeight=page.evaluate(function(){return$('#content').height();});});但是,我不确定如何利用它来发挥我的优势。viewportSize似乎不会以任何方式影响这一点,因为我没有渲染视

javascript - Phantomjs 使用带有 page.includeJs 的本地文件?

我正在使用PhantomJS截取网页。然而,该库调用托管的jQuery文件以在页面DOM中注入(inject)jQuery功能以允许进行一些操作。在这里看到:http://phantomjs.org/api/webpage/method/include-js.html代码如下所示:if(loaded){page.includeJs("http://code.jquery.com/jquery-1.8.3.min.js",function(){...我不想对JS进行外部调用,因为(a)它速度较慢且(b)它不可靠。我想使用本地副本并设置该路径,但它没有加载。page.includeJs("