切换到 window(制表符)而不将浏览器置于最前面
Switch to window (tab) without bringing browser to front
我正在使用 Python 和 Selenium 导航多个选项卡。如何切换到不同的 window/tab 而不将整个浏览器 window 放在前面并且没有 selenium window “窃取”我的计算机的焦点?例如,如果我在普通浏览器的搜索栏中输入内容,而我的脚本切换了选项卡,它将停止在搜索栏中输入内容,我必须重新单击搜索栏才能再次开始输入内容。
- 请不要提出无头模式建议。
- 将浏览器位置更改为离开屏幕不起作用,因为它仍然会窃取焦点
- 最小化浏览器不起作用,因为它在切换到命令时取消最小化 运行
我是这样切换的windows:
for handle in driver.window_handles:
driver.switch_to.window(handle)
答案是否定的,这对 Selenium 来说是不可能的。
Selenium 的创建是为了模拟用户可以通过 GUI 执行的操作。
作为用户,你不能做你所要求的,Selenium 也做不到。
我认为,如果您将自动化脚本部署到 VM(在您的机器中),您可以继续启动 在您的 local browser
上工作,您的自动化脚本将 运行 在 VM 上运行,并将有一个独立的环境。
我正在使用 Python 和 Selenium 导航多个选项卡。如何切换到不同的 window/tab 而不将整个浏览器 window 放在前面并且没有 selenium window “窃取”我的计算机的焦点?例如,如果我在普通浏览器的搜索栏中输入内容,而我的脚本切换了选项卡,它将停止在搜索栏中输入内容,我必须重新单击搜索栏才能再次开始输入内容。
- 请不要提出无头模式建议。
- 将浏览器位置更改为离开屏幕不起作用,因为它仍然会窃取焦点
- 最小化浏览器不起作用,因为它在切换到命令时取消最小化 运行
我是这样切换的windows:
for handle in driver.window_handles:
driver.switch_to.window(handle)
答案是否定的,这对 Selenium 来说是不可能的。
Selenium 的创建是为了模拟用户可以通过 GUI 执行的操作。
作为用户,你不能做你所要求的,Selenium 也做不到。
我认为,如果您将自动化脚本部署到 VM(在您的机器中),您可以继续启动 在您的 local browser
上工作,您的自动化脚本将 运行 在 VM 上运行,并将有一个独立的环境。