OneTwoThreeGo-1-2 2022-09-30 12:58 采纳率: 0%
浏览 30

selenium打开多个driver对象时,其中一个执行close,其他的窗口也会退出

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import os

def test(url):
options = Options()
options.add_argument("--start-fullscreen")
driver = webdriver.Chrome(chrome_options=options)
driver.get(url)
test1(url)

def test1(url):
options1 = Options()
options1.add_argument("--start-fullscreen")
driver1 = webdriver.Chrome(chrome_options=options1)
driver1.get(url)
driver1.close()

if name == "main":
url = "https://www.baidu.com"
# 执行之后driver1退出了,driver也会跟着闪退
test(url)

# 执行下面这种方式之后,driver1退出了,但是driver会保留,不会出现闪退的情况
options = Options()
options.add_argument("--start-fullscreen")
driver = webdriver.Chrome(chrome_options=options)
driver.get(url)

options1 = Options()
options1.add_argument("--start-fullscreen")
driver1 = webdriver.Chrome(chrome_options=options1)
driver1.get(url)
driver1.close()
我想要达到的结果

使用方法调用时,希望driver1退出之后,driver打开的窗口依旧存在

  • 写回答

2条回答 默认 最新

  • Jackyin0720 2022-09-30 14:23
    关注
    
    
    import time
    from selenium import webdriver
     
    driver = webdriver.Chrome()
    driver.switch_to.new_window("tab")  #打开一个新的标签,通过向new_window中传tab控制
    driver.get("http://www.baidu.com")    #在新创建的标签中打开百度
    time.sleep(3)
    driver.switch_to.new_window("window")    #打开一个新的窗口,通过向new_window中传window控制
    driver.get("http://shop-xo.hctestedu.com/")     #在新创建的标签中打开网址
    time.sleep(3)
    driver.quit()
    
    

    借鉴这段代码看看

    
    
    评论

报告相同问题?

问题事件

  • 修改了问题 9月30日
  • 创建了问题 9月30日

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法