如何从中调用Python函数节点.js不启动新会话(Selenium)?

2024-09-26 22:44:43 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我已经有了一个运行selenium的python脚本。但我需要做的是调用一个带有节点.js添加到已经运行的python脚本,而不运行python脚本的新实例。你知道吗

例如,我有一个名为HelloWorld.py的python脚本

import sys
def HelloPal(pal):
    print("Output from Python")
    print("Hello " + pal)

如何调用HelloPal("World!")已打开的HelloWorld.py实例?你知道吗

我想到的是:

GeeksforGeeks

我可以使用node.js发送布尔值callFunc = true;。 在HelloWorld.py中:

import sys
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.google.com")
callFunc = False
try:
    callFunc = sys.argv[2]
except:
    print("Localhost URL is not called yet!")
while callFunc is True:
    HelloPal(sys.argv[1]);
def HelloPal(pal):
    callFunc = False

    print("Output from Python")
    print("Hello " + pal)

而在节点.js脚本:

var express = require('express'); 
var app = express(); 

app.listen(3000, function() { 
    console.log('server running on port 3000'); 
} ) 

app.get('/name', callName); 

function callName(req, res) { 
    var spawn = require("child_process").spawn; 

    // E.g : http://localhost:3000/name?firstname=Mike
    var process = spawn('python',["./HelloWorld.py", 
                            req.query.firstname, 
                            true] );
    process.stdout.on('data', function(data) { 
        res.send(data.toString()); 
    } ) 
}

但经过测试我发现节点.js正在打开HelloWorld.py的新实例。你知道吗

如何调用HelloPal("World!")已打开的HelloWorld.py实例?你知道吗


Tags: 实例frompyimport脚本节点varsys

热门问题