03selenium句柄实例

要求:

1、打开浏览器进入百度

2、输入任意内容

3、通过百度再次打开3个窗口

代码内容如下:

# 导入webdriver
from selenium import webdriver
# 导入time
import time
# 实例化driver对象
driver = webdriver.Chrome()
# 打开浏览器进入百度
driver.get('https://www.baidu.com')
# 浏览器页面最大化
driver.maximize_window()
# 搜索框输入华为商城
driver.find_element_by_id('kw').send_keys('华为商城')
# 点击搜索
driver.find_element_by_id('su').click()
# 强制等待2s
time.sleep(2)
# 进入华为商城
driver.find_element_by_xpath('//*[@id="1"]/h3/a[1]').click()
# 获取当前浏览器的所有窗口句柄
handles = driver.window_handles
# 强制等待2s
time.sleep(2)
# 切换到最开始打开的百度窗口
driver.switch_to.window(handles[0])
# 清空搜索框文本内容
driver.find_element_by_id('kw').clear()
# 输入淘宝网
driver.find_element_by_id('kw').send_keys('淘宝网')
# 点击搜索
driver.find_element_by_id('su').click()
# 强制等待2s
time.sleep(2)
# 打开淘宝网
driver.find_element_by_xpath('//*[@id="1"]/h3/a[1]').click()
# 强制等待2s
time.sleep(2)
# 切换到最开始打开的百度窗口
driver.switch_to.window(handles[0])
# 清空搜索框文本内容
driver.find_element_by_id('kw').clear()
# 输入京东
driver.find_element_by_id('kw').send_keys('京东')
# 点击搜索
driver.find_element_by_id('su').click()
# 强制等待2s
time.sleep(2)
# 打开京东网页
driver.find_element_by_xpath('//*[@id="1"]/h3/a[1]').click()
# 获取当前浏览器的所有窗口句柄
handles1 = driver.window_handles
# 打印所有window handles
print('打印所有窗口的句柄:', driver.window_handles)
print('----------------')
# 等待2s后切换窗口
time.sleep(2)
# 切换到华为商城页窗口---第一个百度搜索打开的窗口
driver.switch_to.window(handles1[1])
print('切换到华为商城页窗口')
# 打印华为商城页窗口句柄
hw = driver.current_window_handle
print('华为商城网页窗口句柄:', hw)
print('----------------')
# 等待2s后切换窗口
time.sleep(2)
# 切换到淘宝网页窗口---第二个百度搜索打开的窗口
driver.switch_to.window(handles1[2])
print('切换到淘宝网页窗口')
# 打印淘宝网页窗口句柄
tb = driver.current_window_handle
print('淘宝网页窗口句柄:', tb)
print('----------------')
# 等待2s后切换窗口
time.sleep(2)
# 切换到京东网页窗口---第三个百度搜索打开的窗口
driver.switch_to.window(handles1[3])
print('切换到京东网页窗口')
# 打印京东网页窗口句柄
jd = driver.current_window_handle
print('京东网页窗口句柄:', jd)
print('----------------')
# 关闭京东窗口
time.sleep(2)
driver.close()
# 打印所有window handles
print('京东窗口已关闭!')
print('打印当前所有窗口的句柄:', driver.window_handles)
print('----------------')
# 先切换回去,再关闭淘宝网页窗口
driver.switch_to.window(handles1[2])
time.sleep(2)
driver.close()
print('淘宝窗口已关闭!')
print('打印当前所有窗口的句柄:', driver.window_handles)
print('----------------')
# 先切换回去,再关闭华为商城网页窗口
driver.switch_to.window(handles1[1])
time.sleep(2)
driver.close()
print('华为商城窗口已关闭!')
print('打印当前所有窗口的句柄:', driver.window_handles)
print('----------------')
# 关闭浏览器
time.sleep(2)
print('关闭浏览器!')
print('----------------')
driver.quit()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值