一、背景
当前窗口的一个点击操作,导致弹出了另一个窗口,而且接下来的操作要去另外一个窗口执行。
二、操作原理
首先,获取到目前打开的所有窗口句柄。新的窗口,就是窗口句柄列表的最后一个窗口。 窗口句柄列表 wins= driver.window_handles
三、切换窗口
driver.switch_to.window(窗口句柄)
四、总结
- 首先:wins = driver.window_handles 获取当前所有窗口句柄。wins 是一个列表。
- 再切换到最新的窗口:driver.switch_to.windows(wins[-1])。
五、代码示例
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.wait import webdriverwait
from selenium.webdriver.support import expected_conditions as EC
loc = (By.XPATH,'//a[text()='腾讯课堂']')
wait = webdriverwait(driver,10)
wait.until(EC.visibility_of_element_located(loc))
wins = driver.window_handles
print("获取当前句柄{}".format(wins))
driver.find_element(*loc).click()
driver.switch_to.window(wins[-1])
print("获取打开新窗口之后的句柄{}".format(wins))
driver.find_element(By.ID,'kw').click()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。