web自动化 -- 浏览器窗口切换
Posted mua~mua~
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了web自动化 -- 浏览器窗口切换相关的知识,希望对你有一定的参考价值。
切换浏览器窗口
示例:
from time import sleep from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expected_conditions as EC url = "https://www.baidu.com" search_box = \'//*[@id="kw"]\' click_search = \'//*[@id="su"]\' driver = webdriver.Chrome() # 定义 driver driver.implicitly_wait(10) # 设置隐式等待,作用域是全局 try: driver.get(url) driver.find_element_by_xpath(search_box).send_keys(\'有道云\') # 输入搜索关键字 driver.find_element_by_xpath(click_search).click() # 搜索 # 窗口切换 # setup1:获取所有窗口的句柄 window_handle_list = driver.window_handles print(\'最开始的句柄列表:\', window_handle_list) # 当前所在的窗口句柄 now_window = driver.current_window_handle # 打开新窗口 driver.find_element_by_xpath(\'//*[text()="官方"]\').click() sleep(0.5) # 打开新窗口就得 sleep() 一下 # setup2:等待新窗口打开 WebDriverWait(driver, 5).until(EC.new_window_is_opened(window_handle_list)) # setup3:获取新窗口打开后的 所有窗口的句柄 opened_window_handle_list = driver.window_handles print(\'打开新窗口的句柄列表:\', opened_window_handle_list) # setup4:让句柄进入新窗口 driver.switch_to.window(opened_window_handle_list[-1]) # 列表的 -1下标 就是最后一个,最后一个自然是最新打开的窗口 # # 在新窗口内的其他操作 driver.find_element_by_xpath(\'//*[@id="form-realname"]\').send_keys(13290021660) sleep(1) # setup5:切换回其他窗口 driver.switch_to.window(opened_window_handle_list[0]) # 列表的 0下标 就是最前一个窗口 sleep(1) driver.quit() except Exception as e: driver.quit() raise e
以上是关于web自动化 -- 浏览器窗口切换的主要内容,如果未能解决你的问题,请参考以下文章
python - web自动化测试 - 元素操作 - 窗口切换