Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从Node.js调用Python函数而不启动新会话(Selenium)?_Javascript_Python_Node.js_Selenium - Fatal编程技术网

Javascript 如何从Node.js调用Python函数而不启动新会话(Selenium)?

Javascript 如何从Node.js调用Python函数而不启动新会话(Selenium)?,javascript,python,node.js,selenium,Javascript,Python,Node.js,Selenium,现在发生的事情是,我已经有了一个运行selenium的python脚本。但是我需要做的是调用一个python函数,该函数的参数从node.js到已经运行的python脚本,而不运行python脚本的新实例 例如,我有一个名为HelloWorld.py 导入系统 def HelloPal(pal): 打印(“从Python输出”) 打印(“你好”+pal) 如何调用已打开的HelloWorld.py实例的HelloPal(“World!”) 我的想法是: 指 我可以发送一个布尔值callFunc

现在发生的事情是,我已经有了一个运行selenium的python脚本。但是我需要做的是调用一个python函数,该函数的参数从node.js到已经运行的python脚本,而不运行python脚本的新实例

例如,我有一个名为
HelloWorld.py

导入系统 def HelloPal(pal): 打印(“从Python输出”) 打印(“你好”+pal) 如何调用已打开的
HelloWorld.py
实例的
HelloPal(“World!”)

我的想法是:

我可以发送一个布尔值
callFunc=true使用
node.js
。 在
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)

在node.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()); 
    } ) 
}
但是经过测试,我发现node.js正在打开一个新的
HelloWorld.py
实例


我怎样才能调用
HelloPal(“世界!”)
到已经打开的
HelloWorld.py

我想知道你是否知道node也有selenium,以及更好的(IMHO)木偶,看起来很棒。只是我学习python比学习node更多。但似乎有一些软件包允许我在本地托管并向已经存在的python会话发送和接收数据。不是吗@pguardiario您对帮助完整的python包有什么想法吗?我想有一个类似于节点中的express的flask。如果我是你,我就不会那样做。