import unittest #系统自带包
import time
from selenium import webdriver
class VisitSogouByChrome(unittest.TestCase): #需要继承unittest.TestCase类
def setUp(self): #test_开头的测试方法执行前先执行的方法,有几个test_开头的方法就执行几次
self.driver=webdriver.Chrome() #打开浏览器
def test_operateWindowHandle(self): #实现测试逻辑的方法,必须test_开头
url='https://www.baidu.com'
self.driver.get(url)
self.driver.maximize_window() #网页最大化
now_handle=self.driver.current_window_handle #获取主窗口句柄
self.driver.find_element_by_id('kw').send_keys('w3cschool') #定位元素并输入'w3cschool'
self.driver.find_element_by_id('su').click() #定位元素并点击,查询
time.sleep(3) #等待三秒
self.driver.find_element_by_xpath("//*[@id='2']/h3/a").click() #定位元素并点击,打开链接
time.sleep(5)
all_handles=self.driver.window_handles #获取所有窗口句柄
for handle in all_handles: #遍历句柄
if handle !=now_handle: #判断句柄是否为主窗口句柄
self.driver.switch_to.window(handle) #切换到新打开的窗口
self.driver.find_element_by_link_text('学习 HTML5').click() #点击'HTML 5'链接
time.sleep(3)
self.driver.close() #关闭当前页面
time.sleep(3)
self.driver.switch_to.window(now_handle) #切换到主窗口
time.sleep(2)
self.driver.find_element_by_id('kw').clear() #清空
self.driver.find_element_by_id('kw').send_keys(u"天天向上")
self.driver.find_element_by_id('su').click()
time.sleep(5)
def tearDown(self): #test_开头的测试方法执行后再执行的方法,有几个test_开头的方法就执行几次
self.driver.quit() #关闭浏览器
if __name__=='__main__':
unittest.main() #执行当前文件所有测试类的测试方法
python selenium automatic webpage switching, browser handle switching
Guess you like
Origin blog.csdn.net/weixin_44123630/article/details/113820473
Ranking