解决方法解决锐捷EVE模拟器无法弹出选择CRT接管命令行和命令行

Posted 爱吃菠萝包

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决方法解决锐捷EVE模拟器无法弹出选择CRT接管命令行和命令行相关的知识,希望对你有一定的参考价值。

环境:

工具:锐捷EVE模拟器,火狐游览器(Firefox)
远程工具:SecureCRT
系统版本:Windows 10

问题描述:

描述:在Edge游览器和360游览器中,启动路由器等设备无法启动命令行和CRT,弹出框中无反应。如下图:

解释:游览器不兼容,安装火狐游览器即可。

解决方法:

1.下载火狐游览器:https://www.firefox.com.cn/

2.自行选择是否初始化设置游览器,我是除了第一步,其他全部跳过。如下图:

3.进入锐捷EVE的后台地址,我的地址是192.168.10.129,默认账号admin,密码eve。

4.双击设备图标,选择“选择其他应用程序”,如下图:

5.点击选择按钮,可勾选一律此应用打开,推荐设置好了之后再勾选。如下图:

6.找到CRT的eve文件。如下图:
如果你没有下载CRT,这里附上一个绿色免安装的版本:
链接:https://pan.baidu.com/s/1EuoVd8ze3lLmDNZyZ-CkUQ
提取码:0423

7.现在即可通过CRT打开命令行:如下图:

8.至此即可完成所有的操作,可正常使用。如下图:

firefox下载文件弹出框之终极解决方案-vbs模拟键盘操作


点击上方 “公众号” 可以订阅哦!


由于近期一直被firefox的保存文件弹出框困扰,摸索尝试过几种方法,已有的方法可以跑通但是对对效果不太满意,因此一直在寻找合适的解决办法。

最近发现了也可以通过VBS来处理弹出框,速度也不错,其原理就是模拟键盘操作,和rebot对象类型。现在对各种方法总结一下。

 

我们在测试中经常会遇到各种弹出框,对于弹出框主要有以下几类:

1. 新弹出浏览器窗口。

2. alert弹框。

3. 标准windows弹框。

对于第一种我们经常使用解决办法就是windowhandles判断句柄然后切换到相应窗口。

对于第二种我们就是利用selenium自带的switchto操作。

对于第三种经常使用的就是利用第三方工具AutoIt来操作。

这些解决方法各有千秋,根据实际情况来选择组好的方法。下面来具体分析:

1. 设置firefox profile来静默下载。

firefox下载文件弹出框之终极解决方案-vbs模拟键盘操作

    public static FirefoxProfile FirefoxDriverProfile() throws Exception {
    FirefoxProfile profile = new FirefoxProfile();
    profile.setPreference("browser.download.dir", downloadFilePath);
    profile.setPreference("browser.download.folderList",2); 
        browser.download.folderList 设置Firefox的默认 下载 文件夹。0是桌面;1是“我的下载”;2是自定义
    profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/xls, application/octet-stream, application/vnd.ms-excel, text/csv, application/zip");    return profile;
    }

firefox下载文件弹出框之终极解决方案-vbs模拟键盘操作

经过实际观察,并不能每次都生效,稳定性不是太好,但是凑合着还能用。但是profile功能强大,能实现浏览器的定制化,例如加载插件。

2. 通过AutoIt来操作键盘。

由于不是标准windows框,AutoIt不能识别弹出框上的按钮。对于弹出标准windows弹框AutoIt首当其冲是最强大的,比如另存为弹出框。

3. 弹出框根本不是浏览器窗口,windowhandle方法也无效。

4. 通过VBS脚本实现键盘操作。先激活弹出框,然后点向下键,最后点回车,文件就被保存到默认路径了。

firefox下载文件弹出框之终极解决方案-vbs模拟键盘操作

Dim checkOpenWindow
Dim objShell
Dim counter
counter = 0Set objShell = WScript.CreateObject( "WScript.Shell" )

Do        ret = objShell.AppActivate("compare result.txt - Notepad")
    If ret = True Then 
        objShell.SendKeys "{DOWN}"
            WScript.Sleep 2000
        objShell.SendKeys "{ENTER}"
        Exit Do    
    Elseif counter = 600 Then
        Exit Do
    End if
    Set ret = nothing
    counter = counter + 1
    WScript.Sleep 1000Loop

firefox下载文件弹出框之终极解决方案-vbs模拟键盘操作

然后创建一个方法来封装这个vbs脚本。

firefox下载文件弹出框之终极解决方案-vbs模拟键盘操作

public void save_excel() throws IOException, InterruptedException {
        
        String script = "SaveExcel.vbs";
        String executable = "C:\\Windows\\SysWOW64\\wscript.exe";
        String cmdArr [] = {executable, script};
        Process result = Runtime.getRuntime().exec(cmdArr);
        result.waitFor();
    }

firefox下载文件弹出框之终极解决方案-vbs模拟键盘操作

这样完美解决了下载框弹出的问题,比之前其他的方法更加稳定,更加方便使用。
另外也记录一下robot模拟键盘的代码以供参考:

firefox下载文件弹出框之终极解决方案-vbs模拟键盘操作

public void pressDownKey(){
        Robot robot=null;        try{
            robot=new Robot();
        } catch (AWTException e){
            e.printStackTrace();
        }
        robot.keyPress(KeyEvent.VK_DOWN);
        robot.keyRelease(KeyEvent.VK_DOWN);
    }    public void pressEnterKy(){
        Robot robot=null;        try{
            robot=new Robot();
        } catch (AWTException e){
            e.printStackTrace();
        }
        robot.keyPress(KeyEvent.VK_ENTER);
        robot.keyRelease(KeyEvent.VK_ENTER);
    }

                        
                        RobotUtil robot = new RobotUtil();
            robot.pressDownKey();
            Thread.sleep(2000);
            robot.pressEnterKy();  



点击右上角"..."将好文分享给朋友吧




以上是关于解决方法解决锐捷EVE模拟器无法弹出选择CRT接管命令行和命令行的主要内容,如果未能解决你的问题,请参考以下文章

解决方法锐捷路由器配置IP地址,如RSR路由器

锐捷交换机crt连接enter无反应

Secure CRT怎样连接pnetlab的设备?

解决办法三层交换机通过静态路由和接口互联,实现不同VLAN间通信的两种方法

解决VirtualBox与锐捷网络冲突的问题

python3.5.4安装时老是弹出api-ms-win-crt-runtime-|1-1-0.dll错误的解决方法