python使用selenium如何获取到一个新打开chrome窗口的句柄

python使用selenium如何获取到一个新打开chrome窗口的句柄

情况是这样的,我使用selenium操控chrome打开一个网站,点击一个按钮后,会调用本机的chrome再打开一个新窗口(相当于一个新浏览器进程)进入目标系统(无法直接通过输入url访问目标系统),请问我怎么才能获取到这个新窗口的句柄呢?

目前使用了
handles=driver.window_handles;driver.switch_to.window(handles[-1])好像并不行

from selenium.webdriver.chrome.options import Options

import time

options = Options()

chrome_options.add_experimental_option("excludeSwitches", ['enable-automation', 'enable-logging'])

driver = webdriver.Chrome(chrome_options=chrome_options)

def main():

page = driver.get('https://www.baidu.com')

print(driver.title)

handles=driver.window_handles

print(handles)

driver.switch_to.window(handles[-1])

while 1:

#if driver.title=='新浪首页':

#print(driver.title)

#else:

#time.sleep(10)

#driver.find_element_by_id('loginBtn').click()

if __name__ == "__main__":


回答:

(无法直接通过输入url访问目标系统) driver.get('https://www.baidu.com') 你这不是进入百度了吗。 那此时的driver就是百度句柄。

当你再次 driver.get('https://xxx') 产生了2个窗口 那就需要driver.switch_to.window(handles[0])切回百度

以上是 python使用selenium如何获取到一个新打开chrome窗口的句柄 的全部内容, 来源链接: utcz.com/p/937945.html

回到顶部