使用 selenium 和 python 访问 javascript 数据

Accessing javascript data with selenium and python

我有一个网站,我想从中抓取数据。此特定数据位于脚本标签下,我不知道如何访问它。

<script type="text/javascript">
    window.gameData = {"a dict of data I would like to get"}
</script>

到目前为止,我可能已经尝试了“find_element_by...”的所有组合,我开始怀疑这个问题是否可以解决。它不允许我使用“get_attribute”、“.text”或任何其他有用的 selenium 函数。

我什至试过这个功能

#script = wd.find_element_by_xpath('//*[@id="js-hook-pz-moment__game"]/script/text()')

javascript 加载数据的直接 xpath,它返回了一个非常可怕的错误。

selenium.common.exceptions.InvalidSelectorException: Message: invalid selector: The result of the xpath expression "//*[@id="js-hook-pz-moment__game"]/script/text()" is: [object Text]. It should be an element.

这就是我的问题。感谢您提供的所有帮助:)

你会这样做:

game_data = driver.execute_script("return window.gameData")