记:一次由面及点,又及逗号的Phantom debug

2023-11-22 05:21

本文主要是介绍记:一次由面及点,又及逗号的Phantom debug,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么bug?bug什么?咋肥四?

这是我司一个客户端软件,此处是将业务系统网页上的图表截图,放入客户端页面里。

你也看到了,这图,,白了。而在页面上的这货呢?

生龙活虎,有蹦有跳,可大可小。那么问题来了,它经历了什么?

bug图的奇幻漂流的,,,还原:

首先,we have a phantomjs , we have a page ,呃♂!screenshot!

没错,客户端通过调用phantomjs将图表的页面截下来

但是phantomjs如果直接看她(图表页)会被壮汉(login)拦下,

所以,我们为了成全phantomjs给壮汉偷偷弄了个绿……sso页,

最初,我怀疑是phantomjs访问的 sso页面 有问题。

然后我就找他对了个峙:

我想了想,phantom这孩子怎么就没看到呢,我都看到了鸭?

然后我去问了问phantom他咋肥四:

咦?他说妹子找不到衣服了所以没出来?

然鹅

于是,我去找了下,这个叫做showMchart的衣服在哪:

那么这个衣服谁提供的呢?

在这,那么为啥就没给出去呢?我王某人怀疑这家伙根本没出门!于是我加了这么一段:

又教phantomjs做这么个事:

去吧!phantom!于是:

哎?咋啥也没有呢?这衣服供应商(viewmquadrant.js)根本没工作啊?

然后我看了看是谁找的这一家:

emmm,竟然还是自动找的,(话说原来还都是没有这么多 金三月半 代码的,咋突然就多了……sigh)

那么这块找到的是啥呢?

看起来仿佛没问题啊?难不成是phantom这孩子去看的时候发生了啥?

然后我准备debug phantom,于是我在叫这孩子的时候加了一段口诀:

--remote-debugger-port=9000

然后扒开这孩子的脑子

然后我在Console里敲下了__run();+Enter

换行了?说好的运行到Breakpoint呢?于是stackoverflow了一下

我又试了下:

我决定放弃,这孩子脑子不太好使=-=

然后我发现了这个

哦豁,VSC赛高!配置如下:

然后开始愉快的de他!

我们在open之后evaluate之前打个断点,然后看看这个page里有没有加载那个js的script节点

我发现这样不行。然后决定在源代码里写log,运行结果如下

这不是有么?明明正常浏览器上没问题,这孩子也加载了js,怎么就看不到了呢?

于是我怀疑是延时问题,那么让我们来等他反应一会:给个5秒。

结果喜(xi)大(wen)普(le)奔(jian):

还是白的

那么问题来了,与这个图类似的图呢?viewChart是个通用的页,别的小伙伴也通过它来看图啊

所以我找到了动态散点图

Owww……这图就没问题,尤其对比底层builder之后发现,这俩图,高度一致!

那么问题来了:歪?

于是,我开着vsc准备对比一下

好像发现了那里不对……

唔姆唔姆,给你们标个特写

对,罪魁祸首是个逗号菌!

完。

 

这篇关于记:一次由面及点,又及逗号的Phantom debug的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/407819

相关文章

Goland debug失效详细解决步骤(合集)

《Golanddebug失效详细解决步骤(合集)》今天用Goland开发时,打断点,以debug方式运行,发现程序并没有断住,程序跳过了断点,直接运行结束,网上搜寻了大量文章,最后得以解决,特此在这... 目录Bug:Goland debug失效详细解决步骤【合集】情况一:Go或Goland架构不对情况二:

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for

电脑多久清理一次灰尘合? 合理清理电脑上灰尘的科普文

《电脑多久清理一次灰尘合?合理清理电脑上灰尘的科普文》聊起电脑清理灰尘这个话题,我可有不少话要说,你知道吗,电脑就像个勤劳的工人,每天不停地为我们服务,但时间一长,它也会“出汗”——也就是积累灰尘,... 灰尘的堆积几乎是所有电脑用户面临的问题。无论你的房间有多干净,或者你的电脑是否安装了灰尘过滤器,灰尘都

(function() {})();只执行一次

测试例子: var xx = (function() {     (function() { alert(9) })(); alert(10)     return "yyyy";  })(); 调用: alert(xx); 在调用的时候,你会发现只弹出"yyyy"信息,并不见弹出"10"的信息!这也就是说,这个匿名函数只在立即调用的时候执行一次,这时它已经赋予了给xx变量,也就是只是

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位 一、背景二、定位问题三、解决方法 一、背景 flume系列之:定位flume没有关闭某个时间点生成的tmp文件的原因,并制定解决方案在博主上面这篇文章的基础上,在机器内存、cpu资源、flume agent资源都足够的情况下,flume agent又出现了tmp文件无法关闭的情况 二、

Nn criterions don’t compute the gradient w.r.t. targets error「pytorch」 (debug笔记)

Nn criterions don’t compute the gradient w.r.t. targets error「pytorch」 ##一、 缘由及解决方法 把这个pytorch-ddpg|github搬到jupyter notebook上运行时,出现错误Nn criterions don’t compute the gradient w.r.t. targets error。注:我用

jmeter之仅一次控制器

仅一次控制器作用: 不管线程组设置多少次循环,它下面的组件都只会执行一次 Tips:很多情况下需要登录才能访问其他接口,比如:商品列表、添加商品到购物车、购物车列表等,在多场景下,登录只需要1次,我们期望的是重复执行登陆后面的接口来做压测,这就和事务相关,例如 事务1: 登录—>添加购物车 事务2: 登录—>购物车列表 事务3: 登录—>商品列表—>添加购物车 … 一、仅一次控制器案例 在

一次生产环境大量CLOSE_WAIT导致服务无法访问的定位过程

1.症状 生产环境的一个服务突然无法访问,服务的交互过程如下所示: 所有的请求都是通过网关进入,之后分发到后端服务。 现在的情况是用户服务无法访问商旅服务,网关有大量java.net.SocketTimeoutException: Read timed out报错日志,商旅服务也不断有日志打印,大多是回调和定时任务日志,所以故障点在网关和商旅服务,大概率是商旅服务无法访问导致网关超时。 后

关于一次速度优化的往事

来自:hfghfghfg, 时间:2003-11-13 16:32, ID:2292221你最初的代码 Button1 34540毫秒 5638毫秒  Button2 我的代码 这个不是重点,重点是这个  来自:hfghfghfg, 时间:2003-11-13 16:54, ID:22923085528毫秒 不会吧,我是赛杨1.1G  128M内存  w2000, delphi6  128M

idea 怎么调试debug

1、这里以一个web工程为例,点击图中按钮开始运行web工程。 2、设置断点 3、使用postman发送http请求 4、请求发送之后会自动跳到断点处,并且在断点之前会有数据结果显示 5、按F8 在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前方法体内,跳到下一条执行语句。 6、按F7在 Debug 模式下,进入下一步,如果当