Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.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/9/solr/3.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 如何从其他js文件执行selenium节点js脚本_Javascript_Node.js_Selenium_Selenium Webdriver - Fatal编程技术网

Javascript 如何从其他js文件执行selenium节点js脚本

Javascript 如何从其他js文件执行selenium节点js脚本,javascript,node.js,selenium,selenium-webdriver,Javascript,Node.js,Selenium,Selenium Webdriver,我已根据以下内容创建了文件: Demo.js var webdriver = require('selenium-webdriver'); var driver = new webdriver .Builder() .withCapabilities(webdriver.Capabilities.chrome()) .build(); driver.get('http://www.google.com'); driver.findElement(webdri

我已根据以下内容创建了文件:

Demo.js

var webdriver = require('selenium-webdriver');     

var driver = new webdriver
    .Builder()
    .withCapabilities(webdriver.Capabilities.chrome())
    .build();

driver.get('http://www.google.com');
driver.findElement(webdriver.By.name('q')).sendKeys('simple programmer');
driver.findElement(webdriver.By.name('btnK')).click();
driver.quit();
Run.js

var express = require('express');

var app = express(); 
app.get('/', function (req, res) {
    res.send('<button type="button" onclick="test();">Run Script</button>');
});

var server = app.listen(8081, function () {
    var host = server.address().address;
    var port = server.address().port;
    console.log("Example app listening at http://%s:%s", host, port);
});

function test() {
    var fork = require('child_process').fork;
    var child = fork('./Demo');
}

您正在客户端调用函数
test
,但该函数是在服务器端定义的

您可以在客户端创建一个表单,在单击时向服务器发送post请求。然后在服务器端处理
POST
请求以执行所需代码:

app.get('/', function (req, res) {
   res.send(
    '<form action="/run" method="POST">' +
    '  <input type="submit" name="run" value="Run Script" />' +
    '</form>');
});

app.post('/run', function (req, res) {
  var fork = require('child_process').fork;
  var child = fork('./Demo');
  res.send('done');
});
app.get('/',函数(req,res){
res.send(
'' +
'  ' +
'');
});
app.post('/run',函数(req,res){
var fork=require('child_process')。fork;
var child=fork('./Demo');
res.send('done');
});
您还可以在客户端发送带有Ajax请求的
POST
请求:

app.get('/', function (req, res) {
   res.send(
    '<form action="/run" method="POST">' +
    '  <input type="submit" name="run" value="Run Script" />' +
    '</form>');
});

app.post('/run', function (req, res) {
  var fork = require('child_process').fork;
  var child = fork('./Demo');
  res.send('done');
});