1

我正在使用 WampServer64 设置在 Windows 10 上运行的服务器。它在网页上提供按钮来截取服务器屏幕的屏幕截图以及使用 pyscreenshots 和 pyautogui 进行的其他操作(如下所示)。

我的 python 脚本在本地使用 cmd 运行良好,但是当我从网站运行它们时,当脚本遇到 pyscreenshot 方法或 pyautogui 方法(如 pyscreenshot.grab())时它们停止我搜索 WampServer 和 python 之间的问题,但我只看到了关于CGI 这不是我的问题。无论如何我都试过了,但没有用

这是我的代码的逻辑方案:

<input type="button" value="Get Screenshot" onclick="GetScreenshot()" />
function GetScreenshot(){
    $.ajax({
        url:"handle_screenshots.php",
        type: "POST",
        data:{action:'start_screenshots'},
        success: function(result) {
            alert(result);
        }
    });
};
if ($_POST['action'] == 'start_screenshots') {
    $path = $_SESSION['path'];
    $duration = 1000;
    pclose(popen("start /B cmd /C py C:\\wamp64\\www\\RTS_WebApp\\python\\screenshot.py $duration \"$path\" >NUL 2>NUL", 'r'));
    echo "Screenshots started";
}
import pyscreenshot, datetime, time, sys, re, os

if __name__ == '__main__':
    duration = sys.argv[1]
    if ':' in duration:
        wordList = re.sub("[^\w]", " ", duration).split()
        if (len(wordList) == 3) :
            duration = int(wordList[0]) * 3600 + int(wordList[1]) * 60 + int(wordList[2])
    else:
        duration = int(duration)

    i = 1
    left = 140
    top = 70
    right = 900
    bottom = 550
    start_time = time.time()
    while duration > (time.time() - start_time):
        name = "img_{}.png".format(i)
        img = pyscreenshot.grab()
        img = img.crop((left, top, right, bottom))
        img = img.resize((img.size[0], img.size[1]))
        img.save("C:\\wamp64\\www\\RTS_WebApp\\static\\img\\current.png")
        i += 1

编辑:我刚刚尝试使用 XAMPP,它确实有效,所以我猜 python 和 WAMP 之间存在问题

4

0 回答 0