【问题标题】:How to get a max value from graph which is shockwave flash如何从冲击波闪光图中获得最大值
【发布时间】:2016-06-09 05:47:41
【问题描述】:

我正在使用带有 python 的 selenium webdriver 编写一个脚本,我需要从基于 Flash 的图表中获取最高值,并且当我将鼠标悬停在该图表上的任何点时,一些值是可见的。

当我从检查元素检查网络流量时,我得到了这个链接:

getStatsData?https://my.xxxx.com/monitor/getStatsData?graphTypeId=0&segTypeId=1&site1Id=303602&site2Id=All&directionId=0&additionalInfo=&applicationIdList=All&startTime=1456304821&endTime=1456391221

点击后,它会在包含大量 JSON 值的新页面中打开。我认为这些值用于在 SWF 文件中构建图形。但我无法从 Selenium 获取该网址

那么有没有一种方法可以让我在 Selenium webdriver 中使用 Python 从这个图中获得最大值?

【问题讨论】:

  • 我的编辑是为了提高问题的可读性。用于在网页中嵌入 SWF 应用程序的 html 代码与问题无关,AS3 代码本身 在 SWF 应用程序内 是所需的 JSON。更有用的是实际工作链接,以查看实际问题。该 JSON url 看起来“受时间保护”,并且必须根据请求重新生成,通常由回显 JSON 的 PHP 文件生成。您可以查看网络标签,但由于没有我们志愿帮助者的链接,祝你好运
  • 嗯,我理解您的担忧,我之前无法解释,所以我修改了它。抱歉链接,但我必须遵守公司的规则和保密事项。是的,该 url 是新生成的,这就是为什么我想要在页面加载时捕获该 url 时生成这些 uls 以获取 JSON 数据,并且可以在 Network 选项卡中看到。由于我们无法在 selenium webdriver 中与 SWF 应用程序交互,所以我试图自己获取 JSON 值。

标签: python html json selenium-webdriver


【解决方案1】:

看看这个:

import json

json_str = (
    '{"ResJSON":{"timeseries":{"unit":["secs","bps","bps","bps"],'
    '"columns":["timestamp","Total","Optimized","Pass-Through"],'
    '"values":[[1456304820,1350.9333,1290.8000,60.1333],'
    '[1456304880,1252.9333,1217.0667,35.8667],'
    '[1456304899, 1600, 1570, 30]]}}}')

data = json.loads(json_str)

chart_values = [v[1] for v in data['ResJSON']['timeseries']['values']]
max_value = max(chart_values)
print('Maximum value:', max_value)

我正在从values 表中提取Total 列到chart_values 列表并从中获取最大值。

【讨论】:

    【解决方案2】:

    我不使用 Python,但尝试这样的东西作为起点......

    import json
    
    myData  = json.loads(your_JSON_string)
    
    value_list = myData['ResJSON']['timeseries']['values']
    
    print "Maximum Value is : ", max(value_list)
    

    【讨论】:

    • 感谢您的回复,但我无法从 web 获取该 json 值,因为它不是用户可以看到的直接 url。在检查元素并单击网络选项卡后可见。
    • 是吗?在那个network tab上是否也有一个PHP文件?我以前见过这种类型的 URL。 Youtube 以同样的方式保护视频文件的直接链接。
    • 不,我在网络选项卡中看不到任何 PHP 文件。但我确实看到了一些 jquery
    猜你喜欢
    • 2011-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-15
    • 2021-10-11
    • 2022-10-31
    • 1970-01-01
    相关资源
    最近更新 更多