V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Abbeyok
V2EX  ›  Python

远程服务器 RDP 断开之后,怎么保证 selenium 可以正常运行?

  •  1
     
  •   Abbeyok · 2022-07-01 23:06:59 +08:00 · 3854 次点击
    这是一个创建于 909 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在这个从 2017 年讨论到 2022 年的 issue: https://github.com/microsoft/WinAppDriver/issues/147里面,有说过修改注册表、使用.bat 文件断开远程的方法,但是我试过都没用,不知道有没有大神有其他解决办法?

    21 条回复    2022-07-07 10:32:52 +08:00
    melsp
        1
    melsp  
       2022-07-01 23:31:12 +08:00 via Android
    之前有遇到一个情况是,断开 rdp 后,运行的程序全注销了
    Archeb
        2
    Archeb  
       2022-07-01 23:40:37 +08:00   ❤️ 1
    crab
        3
    crab  
       2022-07-01 23:45:24 +08:00   ❤️ 1
    之前用这个的方案 3 是可以
    https://www.cnblogs.com/bangejingting/p/6846480.html
    Abbeyok
        4
    Abbeyok  
    OP
       2022-07-01 23:52:05 +08:00
    @Archeb 手动ღ( ´・ᴗ・` ),有空试一下
    Abbeyok
        5
    Abbeyok  
    OP
       2022-07-01 23:55:41 +08:00
    @crab 这个我之前也试过,好像没成功
    Cooky
        6
    Cooky  
       2022-07-02 00:12:53 +08:00
    改用 vnc ?
    pcbl
        7
    pcbl  
       2022-07-02 00:33:57 +08:00 via Android
    vnc 可以,另外用另一台远程服务器“看着”目标服务器也可以
    lait
        8
    lait  
       2022-07-02 00:34:53 +08:00 via Android
    印象中有个叫 hdmi 诱骗器的东西,可以让机器认为有显示器一直输出画面。然后远程后退出后也能保持画面
    ericguo
        9
    ericguo  
       2022-07-02 05:57:22 +08:00   ❤️ 2
    我来说个思路,不要在 windows 下面跑 CI/爬虫,直接用 headless 模式在 Linux 下跑即可。
    qa2080639
        10
    qa2080639  
       2022-07-02 10:24:55 +08:00
    for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
    %windir%\System32\tscon.exe %%s /dest:console)
    qa2080639
        11
    qa2080639  
       2022-07-02 10:26:20 +08:00
    @qa2080639 想换行结果回复了,我用这种 bat 断开远程的方式是可以的
    虽然我的是插件自动爬虫,应该都是差不多的.主要是断开远程之后就等于系统被注销了
    imycc
        12
    imycc  
       2022-07-02 13:59:48 +08:00
    打了一大段发现 3 楼的文档已经提及了。如果想排查的话,在机器上装个 vnc ,用 vnc 连进去看。
    一般远程桌面断开之后,会话依旧是 RDP ,但状态变成断开,VNC 看到的状态是锁屏。
    你试试在远程桌面下用 tscon 把进程切换到 console 会话,通过 vnc 观察,如果是正常显示画面,那就没问题,剩下可能是其他原因。
    ByteCat
        13
    ByteCat  
       2022-07-02 14:09:36 +08:00
    ```bat
    %1 mshta vbscript:CreateObject("Shell.application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit

    for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
    %windir%\System32\tscon.exe %%s /dest:console
    )

    net stop NVDisplay.ContainerLocalSystem
    net start NVDisplay.ContainerLocalSystem
    ```
    zeusho871
        14
    zeusho871  
       2022-07-03 08:41:53 +08:00 via Android
    远程桌面保持激活就行
    jowenzheng
        15
    jowenzheng  
       2022-07-03 10:46:36 +08:00 via Android   ❤️ 1
    Windows Server 好像不会这样子。Windows7/8 好像也不会啊。我远程桌面打开的程序。如果断开连接之后再次登录东西都还在。程序也正常运行啊,也没有断开中断。
    zyxbcde808
        16
    zyxbcde808  
       2022-07-03 14:24:55 +08:00 via Android   ❤️ 1
    亲测 windows server 不会这样
    1qrfJeIujY6T1
        17
    1qrfJeIujY6T1  
       2022-07-03 15:31:07 +08:00
    创建一个新账户然后 RDP 自己连自己 (127.0.0.2)
    https://github.com/stascorp/rdpwrap/
    Abbeyok
        18
    Abbeyok  
    OP
       2022-07-03 19:27:05 +08:00
    @zyxbcde808 嗯嗯,可能还是得 server 系统
    akira
        19
    akira  
       2022-07-03 21:18:52 +08:00
    是不是你 windows 的问题呢。。什么版本的
    coolloves
        20
    coolloves  
       2022-07-03 22:24:00 +08:00
    可以考虑用计划任务来启动,貌似是可以一直后台的吧
    yagamil
        21
    yagamil  
       2022-07-07 10:32:52 +08:00
    rdp 虚拟的显示,断了就消失; [远程桌面的显卡不可用,无法 dx3]
    vnc 用的是机子硬件显示; [远程桌面的显卡可用,可以各种打游戏]
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5691 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 02:59 · PVG 10:59 · LAX 18:59 · JFK 21:59
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.