Selenium webdriver 如何使用网页抓取高图表值?

Selenium webdriver 如何使用网页抓取高图表值?,selenium-webdriver,web-scraping,highcharts,Selenium Webdriver,Web Scraping,Highcharts,我试图从海图中获取数据,但我只有一个“无”值 该图表需要密码才能访问,但我对上的图表也有同样的问题 使用浏览器的DevTools,我可以通过以下方式从highchart获取y值: Highcharts.charts[0].series[0].data[0].y 因此,将此代码与循环结构相结合,我可以得到所有y值 问题是当我尝试使用Selenium来处理这些值时。我正在使用下面的代码 page.execute_script('Highcharts.charts[0].series[0].data

我试图从海图中获取数据,但我只有一个“无”值

该图表需要密码才能访问,但我对上的图表也有同样的问题

使用浏览器的DevTools,我可以通过以下方式从highchart获取y值:

Highcharts.charts[0].series[0].data[0].y
因此,将此代码与循环结构相结合,我可以得到所有y值

问题是当我尝试使用Selenium来处理这些值时。我正在使用下面的代码

page.execute_script('Highcharts.charts[0].series[0].data[0].y')
我期望的答案是2(就像在DevTools中一样),但我得到的答案是“无”

我已经尝试使用Beautifulsoup从
标记中检索y值,但它不符合预期值

HTML源代码似乎很复杂(我不是这方面的专家)。
的完整xpath是:
/html/body/form/div[3]/div[2]/div[2]/section/div/div/div[2]/div/section/div/div/div/div[2]/div[2]/div[1]/div[2]/div/div/svg

此外,我找不到任何
,这可能会避免我访问图形


有人知道我做错了什么吗?(我是这方面的初学者,所以如果需要进一步的信息,请告诉我)

经过长时间的研究,我找到了解决这个问题的方法

我的错误是,我通过selenium将下面要执行的js脚本发送到我的浏览器

page.execute_script('Highcharts.charts[0].series[0].data[0].y')
这段代码运行得很好,但它没有返回任何值。因此,为了得到y值(这就是我需要的),我只需要在前面的代码中使用一个“return”。最后的代码是

page.execute_script('return Highcharts.charts[0].series[0].data[0].y')

用我用一些信息更新的相关HTML、代码试用和错误堆栈跟踪(如果有)更新问题。我没有任何错误,只是无法得到正确的值。非常感谢。这回答了你的问题吗?嗨@fellipe sola,数据是异步加载的,所以也许你调用代码太早了?嗨@user4157124。。不幸的是,这并不能解决我的问题。显然,数据来自js脚本,因此,要使用此方法,我需要创建一个事件来加载此脚本(这是我的猜测)。