Javascript 如何从其他js文件执行selenium节点js脚本
我已根据以下内容创建了文件: Demo.jsJavascript 如何从其他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
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');
});