通过 SSH 使用虚拟显示器创建 selenium 浏览器后,如何在 VNC 中显示 selenium 浏览器

问题描述 投票:0回答:1

我使用 SSH 通过 SSH 创建了一个 selenium 浏览器 像这样

from pyvirtualdisplay import Display
display = Display(visible=0, size=(1920, 1920))
display.start()
driver = webdriver.Chrome()

然后我使用 VNC 登录到机器。我的目标是将在那里创建的 Chrome 窗口移动到我的 VNC 会话上。然而,该 chrome 实例甚至没有显示在任务栏中,即使我可以知道它是打开的,甚至可以与它交互。

我通过

连接
webdriver.Remote(command_executor=bla,options=options)

我确实尝试过

driver.switch_to.window(driver.current_window_handle)

但这没有用。我什至尝试过

driver.switch_to.window(webdriver.Chrome().current_window_handle)

但这给了我一个

selenium.common.exceptions.NoSuchWindowException

python selenium-webdriver vnc
1个回答
0
投票

默认情况下,manage_global_env 为 True
所以

pyvirtualdisplay.Display()

将把
os.environ["DISPLAY"]
设置为虚拟显示器

webdriver 将使用

subprocess.Popen

使用环境
os.environ
启动chrome

所以这应该可行...

import os
from pyvirtualdisplay import Display

print("main script is running on display", os.environ.get("DISPLAY"))

display = Display(visible=0, size=(1920, 1920))
display.start()

print("starting chrome on display", os.environ.get("DISPLAY"))
driver = webdriver.Chrome()
© www.soinside.com 2019 - 2024. All rights reserved.