使用 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")
我有一个网站,我想从中抓取数据。此特定数据位于脚本标签下,我不知道如何访问它。
<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")