有时候做UI自动化,一个浏览器标签页是很难解决问题,比如最近的项目,一个页面退出了登录,另外一个页面还在操作,那操作的菜单或者按钮就需要进行相应的权限校验;
这时候多标签就是一个解决方案;
# 使用Chrome浏览器
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
# 获取当前页面的句柄
current_handle = driver.current_window_handle
# 新标签页的js语句;
new_tab = 'window.open("https://www.baidu.com");'
# driver调用execute_script打开新的标签页并访问指定的URL
driver.execute_script(new_tab)
# 获取全部页面的句柄
handles = driver.window_handles
#若是明确知道要切换到第几个标签页,可以使用下标来定位,比如handles[1]
driver.switch_to.window(handles[1])
若是很多标签页面,就拿handle来比较了;
以上是针对于同一个浏览器打开一个新的标签页;
还有一种情况是,需要打开两个不同的浏览器;
driver1 = webdriver.Chrome()
driver2 = webdriver.Firefox()
后面打开的driver2是处于显示器前面的,遮挡了driver1;没有找到selenium的方法可以将浏览器置前的操作;
测试了一下,应该是对哪个driver进行操作的时候,该浏览器会自动置前显示;这种对于不同浏览器直接的对比测试也是挺好的;
笃信好学,自然宽和