小编Nut*_*tan的帖子

Selenium Python 不关闭子窗口

我有一个网页,点击后会打开新的浏览器窗口。我可以获得 2 个句柄,但是 driver.close() 总是关闭第一个/主窗口。

from selenium import webdriver
import time
driver = webdriver.Chrome() 
driver.get("file:///D:/blackhole/print.html")
han = driver.window_handles
print("handles:", han) # gets 1 handle
time.sleep(2)
click_btn = driver.find_element_by_link_text('Print')
click_btn.click()
han = driver.window_handles
print("handles:", han) # gets 2 handles
driver.switch_to_window = han[1] # first element is always first window handle
driver.close() # main window close
Run Code Online (Sandbox Code Playgroud)

下面的网页代码调用新窗口

<a href="print.html"  
onclick="window.open('popprint.html', 
                    'newwindow', 
                    'width=300,height=250'); 
        return false;"
>Print</a>
Run Code Online (Sandbox Code Playgroud)

Firefox 也有同样的行为。Python 3.6.7

selenium window-handles python-3.x selenium-webdriver webdriverwait

6
推荐指数
1
解决办法
1万
查看次数