如何从浏览器中获取Python读取变量?

时间:2016-08-18 22:53:20

标签: javascript python browser

在学校项目中,我正在尝试将AI编码为简单的游戏。 问题是游戏是在浏览器中运行的javascript代码,而AI则是用Python编码的。

我已经在.js文件中隔离了有用的实时变量(如位置,速度......),并且我能够在浏览器调试控制台中输出它们。

我怎样才能让Python实时访问这些变量?

编辑:为了让自己更清楚,我正在努力击败Chromium的T-Rex Runner。这是我的修改版本,在控制台中显示有用的信息:https://github.com/17maxd/t-rex-runner/

1 个答案:

答案 0 :(得分:0)

我想到了两个解决方案:

  1. 游戏的服务器代码可能会公开API(例如REST API),您的AI可通过该API查询参数并执行命令。
  2. 让人工智能与人类使用selenium-python
  3. 进行互动

    使用Selenium,您可以随时通过在浏览器中执行JS来读取状态(假设您的页面包含jQuery):

    from selenium import webdriver
    
    driver = webdriver.PhantomJS()
    driver.get('http://example.com')
    
    some_value = driver.execute_script('return $("#some_id").val();')
    
    driver.close()