我使用 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
默认情况下,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()