表单切换语法:switch_to.frame():默认可以直接对表单的ID或name属性传参。switch_to_default_content():回到最外层页面。
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://mail.163.com") driver.implicitly_wait(2) login_frame = driver.find_element_by_css_selector("iframe[id^='x-URS-iframe']") driver.switch_to.frame(login_frame) driver.find_element_by_name("email").send_keys("username") driver.find_element_by_name("password").send_keys("password") driver.find_element_by_id("dologin").click() driver.switch_to_default_content() driver.quit()
2、多窗口切换:
语法:switch_to.window():窗口切换;current_window_handle:当前窗口句柄;window_handles:所有窗口句柄
from selenium import webdriver driver = webdriver.Chrome() driver.implicitly_wait(10) driver.get("https://www.baidu.com") #获得百度搜索窗口句柄 search_window = driver.current_window_handle driver.find_element_by_link_text("登录").click() driver.find_element_by_link_text("立即注册").click() #获取当前所有打开窗口的句柄 all_handles = driver.window_handles for handle in all_handles: if handle == search_window: #切换到搜索窗口句柄 driver.switch_to.window(handle) print(driver.title) driver.close() """ output:百度一下,你就知道 """