要求:
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()