小编Seg*_*lin的帖子

Selenium Python - 获取网络响应正文

我使用 Selenium 对网站发出 GET 请求后的数据接收做出反应。网站调用的 API 不是公开的,因此如果我使用请求的 URL 来检索数据,我会得到{"message":"Unauthenticated."}.

到目前为止我所做的就是检索响应的标头。

在这里发现使用driver.execute_cdp_cmd('Network.getResponseBody', {...})可能可以解决我的问题。

这是我的代码示例:

import json
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

capabilities = DesiredCapabilities.CHROME
capabilities["goog:loggingPrefs"] = {"performance": "ALL"}
driver = webdriver.Chrome(
    r"./chromedriver",
    desired_capabilities=capabilities,
)

def processLog(log):
    log = json.loads(log["message"])["message"]
    if ("Network.response" in log["method"] and "params" in log.keys()):
        headers = log["params"]["response"]
        body = driver.execute_cdp_cmd('Network.getResponseBody', {'requestId': log["params"]["requestId"]})
        print(json.dumps(body, indent=4, sort_keys=True))
        return log["params"]
        

logs = driver.get_log('performance')
responses = [processLog(log) for log in logs]
Run Code Online (Sandbox Code Playgroud)

不幸的是,driver.execute_cdp_cmd('Network.getResponseBody', …

python selenium http xmlhttprequest selenium-webdriver

11
推荐指数
2
解决办法
2万
查看次数

AmChart V4:可点击的类别轴标签(堆积柱形图)

我使用 amchart 4 创建了一个XYChart,更准确地说是一个堆积柱形图,我想让列标签可点击。这是我所做的(用一点树枝):

var chart = am4core.create("chartdiv", am4charts.XYChart);

chart.data = [
    {
        'CategoryAxis' : 'Column label 1',
        {% for valueAxis in listValueAxes %}
            '{{ valueAxis.name }}': {{ valueAxis.numericalValue }},
        {% endfor %}
    },{
        'CategoryAxis' : 'Column label 2',
        {% for valueAxis in listValueAxes %}
            '{{ valueAxis.name }}': {{ valueAxis.numericalValue }},
        {% endfor %}
    }
];

var categoryAxis = chart.xAxes.push(new am4charts.CategoryAxis());
categoryAxis.dataFields.category = "CategoryAxis";

var valueAxis = chart.yAxes.push(new am4charts.ValueAxis());
valueAxis.renderer.labels.template.disabled = true;

var label = categoryAxis.renderer.labels.template;

function createSeries(field) …
Run Code Online (Sandbox Code Playgroud)

javascript amcharts twig amcharts4

3
推荐指数
1
解决办法
1063
查看次数