Python crawler - Selenium (7) multi-window switch

Introduction: In the course of the page operation sometimes click a link will pop up a new window, but because of all the operations in the first Selenium is an open pages, then you need to master to switch to the newly opened window operating. WebDriver provides switch_to.window()methods, it may be implemented to switch between different windows. Home to Baidu and Baidu registration page, for example, to switch between the two windows.

The key method used in this chapter as follows:

  • current_window_handle: get the current window handle
  • window_handles: Returns the handle of all windows to the current session
  • switch_to.window (): for switching to the appropriate window

Go to the registration page and get the handle all the pages, and each page of the print title

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

time.sleep(2) #睡两秒,看一下效果

driver.find_element_by_link_text('登录').click()

time.sleep(2) #睡两秒,看一下效果

driver.find_element_by_link_text("立即注册").click()

time.sleep(2) #睡两秒,看一下效果

# 获得当前窗口句柄
sreach_windows = driver.current_window_handle

# 获得当前所有打开的窗口的句柄
all_handles = driver.window_handles
for handle in all_handles:
    if handle != sreach_windows:
        driver.switch_to.window(handle)
        print(driver.title)
    else:
        print('当前页面title:%s'%driver.title)

driver.quit()
Welcome attention of the same name micro-channel public number: Program ape Miscellany

Program ape Miscellany

Technology | exchange | welfare

Selenium anthology Portal:

title Brief introduction
Python crawler - Selenium (1) easy to install and use Details of installation and simple to use Selenium is dependent on the environment of Windows and Centos7
Python crawler - Selenium (2) and positioning elements common methods WebDriver Details of the positioning element 8 ways and cooperate click and enter, submit, using the method of obtaining information assertion
Python crawler - Selenium (3) common method of controlling the browser Details of using a custom browser window or full-screen size, browser control back, forward, refresh your browser and other methods of
Python reptile - Selenium (4) configuration parameters startup items Details of the configuration parameters Selenium startup items including no interface mode, the browser window size, the browser User-Agent (request header), etc.
Python reptile - Selenium (5) mouse events Details of use of right-click, double click, drag, hover, etc.
Python reptile - Selenium (6) key events Details of operation of the keyboard, includes almost all common keycaps and key combinations
Python crawler - Selenium (7) multi-window switch Selenium is described in detail how to implement the freedom to switch between different windows
Python crawler - Selenium (8) frame / iframe nested form page Details of how to switch from the current positioning of the body frame / iframe embedded in a page form
Python crawler - Selenium (9) alert box (pop) Processing Details of how to locate and deal with many types of warning popups
Python crawler - Selenium (10) treated drop-down box Details on how to locate and deal with flexible drop-down box
Python reptile - Selenium (11) file upload Details of how elegant by send_keys () the specified file upload
Python reptile - Selenium (12) for login Cookies, Cookies automatically log in and add Details of how to obtain and use Cookies Cookies for automatic logon
Python crawler - Selenium (13) element disposed wait Details how elegant set of elements waiting time, to prevent the program from running too fast positioning element failure
Python crawler - Selenium (14) screen shot Details on how to use the screen shot
Python reptile - Selenium (15) closes the browser Close the window detailed describes two differences

Welcome Message Tucao

Published 63 original articles · 87 won praise · views 40000 +

Guess you like

Origin blog.csdn.net/weixin_44110998/article/details/103687022