要实现的步骤:在这两个页面之间切换
在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作。WebDriver提供了switch_to.window()方法,可以实现在不同窗口之间切换。
from selenium import webdriver
import time
#selenium 自动化测试 4.10 多窗口切换 句柄
class Windows:
def setup_method(self):
self.driver = webdriver.Chrome()
self.driver.implicitly_wait(10)
self.driver.get("http://www.baidu.com")
self.driver.maximize_window()
def tear_down(self):
self.driver.quit()
def windows(self):
#获得百度搜素窗口句柄
self.search_windows = self.driver.current_window_handle
self.driver.find_element_by_link_text("登录").click()
self.driver.find_element_by_link_text("立即注册").click()
#获得当前所有打开窗口的句柄
all_handles = self.driver.window_handles
#进入注册窗口
for handle in all_handles:
if handle != self.search_windows:
self.driver.switch_to.window(handle)
print('现在在注册窗口!')
self.driver.find_element_by_name("userName").send_keys('dwabc321cda')
time.sleep(3)
#回到搜索窗口
for handle in all_handles:
if handle == self.search_windows:
self.driver.switch_to.window(handle)
print('现在在搜索窗口!')
self.driver.find_element_by_id('TANGRAM__PSP_4__closeBtn').click()
self.driver.find_element_by_id('kw').send_keys('selenium')
self.driver.find_element_by_id('su').click()
time.sleep(2)
if __name__ == '__main__':
windows = Windows()
windows.setup_method()
windows.windows()
windows.tear_down()
warning :未经授权,不得转载
有问题的小伙伴请在下方留言,喜欢就点个赞吧;关注我,带你一起写bug
CSDN:带只拖鞋去流浪
知乎:带只拖鞋去流浪
哔哩哔哩:带只拖鞋去流浪