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

    xiaoxiao2022-07-05  135

    什么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准备对比一下

    好像发现了那里不对……

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

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

    完。

     

    最新回复(0)