1.构建JS登录脚本

JavaScript08

1.构建JS登录脚本,第1张

在编写xshell脚本的过程中用到最多的就是自动输入,自动捕获,延时等语句

自动输入

以自动输入xyz为例

自动输入的语句:xsh.Screen.Send("xyz")

当然,如果你输入的是一条命令,还需要下面这一行输入回车

输入回车的语句:xsh.Screen.Send(String.fromCharCode(13))

自动捕获

以linux系统为例,一般程序执行的打印数据位于倒数第二行,如下图所示

/* 字符串处理 */

var ScreenRow, ReadLine, Items

/* 读取倒数第二行,长度为40个字符 */

ScreenRow = xsh.Screen.CurrentRow - 1

ReadLine = xsh.Screen.Get(ScreenRow, 1, ScreenRow, 40)

延时

以等待1s为例

延时语句:xsh.Session.Sleep(1000)

其他

打开新会话:xsh.Session.Open(string)

对话框提醒:xsh.Dialog.MsgBox(string)

设置日志路径:xsh.Session.LogFilePath = string

开始记录日志:xsh.Session.StartLog()

清屏函数:xsh.Screen.Clear()

等待输入:xsh.Screen.WaitForString(string)

示例

本文以一个自动测试脚本为例,定时向/tmp/test文件写入数据,然后回读打印,截获回读打印的值进行分析

/* 测试函数 /

function test()

{

/ 发送echo 112233 >/tmp/testfile */

xsh.Screen.Send("echo 112233 >/tmp/testfile")

xsh.Screen.Send(String.fromCharCode(13))

}

/* 主函数 /

function Main()

{

/ 打开会话,根据实际的会话路径修改 */

xsh.Session.Open("C:\Users\Administrator\Documents\NetSarang Computer\6\Xshell\Sessions\ubuntu.xsh")

xsh.Screen.Synchronous = true

// xsh.Screen.WaitForString("start")

// xsh.Screen.Clear()

}

运行脚本的操作:

在编写xshell脚本的过程中用到最多的就是自动输入,自动捕获,延时等语句

自动输入

以自动输入xyz为例

自动输入的语句:xsh.Screen.Send("xyz")

当然,如果你输入的是一条命令,还需要下面这一行输入回车

输入回车的语句:xsh.Screen.Send(String.fromCharCode(13))

自动捕获

以linux系统为例,一般程序执行的打印数据位于倒数第二行,如下图所示

/* 字符串处理 */

var ScreenRow, ReadLine, Items

/* 读取倒数第二行,长度为40个字符 */

ScreenRow = xsh.Screen.CurrentRow - 1

ReadLine = xsh.Screen.Get(ScreenRow, 1, ScreenRow, 40)

延时

以等待1s为例

延时语句:xsh.Session.Sleep(1000)

其他

打开新会话:xsh.Session.Open(string)

对话框提醒:xsh.Dialog.MsgBox(string)

设置日志路径:xsh.Session.LogFilePath = string

开始记录日志:xsh.Session.StartLog()

清屏函数:xsh.Screen.Clear()

等待输入:xsh.Screen.WaitForString(string)

示例

本文以一个自动测试脚本为例,定时向/tmp/test文件写入数据,然后回读打印,截获回读打印的值进行分析

/* 测试函数 /

function test()

{

/ 发送echo 112233 >/tmp/testfile */

xsh.Screen.Send("echo 112233 >/tmp/testfile")

xsh.Screen.Send(String.fromCharCode(13))

}

/* 主函数 /

function Main()

{

/ 打开会话,根据实际的会话路径修改 */

xsh.Session.Open("C:\Users\Administrator\Documents\NetSarang Computer\6\Xshell\Sessions\ubuntu.xsh")

xsh.Screen.Synchronous = true

// xsh.Screen.WaitForString("start")

// xsh.Screen.Clear()

}

运行脚本的操作:

实际执行结果如下:

如果一定要用js验证是否登录,那么,就需要使用cookie记录登录状态,js可以读取进行判断。

//JS操作cookies方法!

//写cookies

function setCookie(name,value)

{

var Days = 30

var exp = new Date() 

exp.setTime(exp.getTime() + Days*24*60*60*1000)

document.cookie = name + "="+ escape (value) + "expires=" + exp.toGMTString()

}

//读取cookies

function getCookie(name)

{

var arr,reg=new RegExp("(^| )"+name+"=([^]*)(|$)")

if(arr=document.cookie.match(reg)) return unescape(arr[2])

else return null

}

//删除cookies

function delCookie(name)

{

var exp = new Date()

exp.setTime(exp.getTime() - 1)

var cval=getCookie(name)

if(cval!=null) document.cookie= name + "="+cval+"expires="+exp.toGMTString()

}

//使用示例

setCookie("name","hayden")

alert(getCookie("name"))

js中设置登录用户名为中文的方法如下:

1、进入到后台管理界面,点开locale,在右侧选择下载语言为中文。

2、下载完后,选择中文。

3、点击应用,即可切换中文。