Hel*_*nds 3 javascript selenium node.js 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(webdriver.By.name('q')).sendKeys('simple programmer');
driver.findElement(webdriver.By.name('btnK')).click();
driver.quit();
Run Code Online (Sandbox Code Playgroud)
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');
}
Run Code Online (Sandbox Code Playgroud)
我想做的是:
Run.js,它有一个名为"运行脚本"的按钮.Demo.js.目前对我来说测试功能不起作用,无法Demo.js点击按钮运行.
错误
Uncaught ReferenceError: test is not defined
at HTMLButtonElement.onclick
Run Code Online (Sandbox Code Playgroud)
您正在test客户端调用该函数,但该函数是在服务器端定义的.
您可以在客户端创建一个表单,该表单会在单击时向服务器发送一个发布请求.然后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');
});
Run Code Online (Sandbox Code Playgroud)
您还可以POST在客户端发送带有Ajax请求的请求:
使用Ajax和Node.js的简单按钮单击示例?
| 归档时间: |
|
| 查看次数: |
360 次 |
| 最近记录: |