窗口切换

【1】疑问

在页面中点击某个链接之后,就会打开一个新的窗口。如何切换到新窗口?若新窗口操作完之后,需要切换到原来的窗口?

【2】步骤

1、获取当前所有的窗口
windows = driver.window_handles
2、切换到制定的窗口
chrome.switch_to.window(windows[-1]) #最新打开的窗口
3、切回原来的窗口
chrome.switch_to.window(windows[0]) #切换到第一个窗口
4、获取当前窗口的句柄
chrome.current_window_handle

【3】示例代码

示例一:百度搜索“selenium”为窗口一,点击“百度一下”按钮,点击带有’培育’的链接,打开第二个窗口。只有获得新窗口的句柄,才能对新窗口进行操作

from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://baidu.com")

driver.find_element_by_xpath("//*[@id='kw']").clear()  # 清楚输入框的原有文字
print("已清除")
driver.find_element_by_xpath("//*[@id='kw']").send_keys("selenium")
driver.find_element_by_xpath("//*[@id='su']").click()

#获取当前浏览器打开的窗口数
handles =driver.window_handles
print(len(handles))

import time
time.sleep(3)

#定位第一行查找记录,并点击链接
driver.find_element_by_partial_link_text('培育').click()

#等待新的窗口出现
WebDriverWait(driver,30,1).until(EC.new_window_is_opened)

#获取到新的窗口句柄,再切换到新的窗口,才能进行新页面的操作
handles = driver.window_handles
driver.switch_to.window(handles[-1])
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值