zoukankan      html  css  js  c++  java
  • 多窗口、句柄(handle)(四)

    1、认识多窗口

    • 有的页面的链接打开后,会重新打开浏览器的一个标签,若是想在新的窗口上操作,就要先切换窗口
    • 获取窗口的唯一标识就是句柄,只要切换到对应的宽口句柄上就能操作了
    • 实际场景,如赶集网,点击工作时候会多出一个窗口

    2、句柄操作

    • 元素有属性的,窗口也是有属性,只是看不到而已,浏览器的属性使用handle来识别
    • 获取当前窗口的句柄:driver.current_window_handle
    • 获取所有窗口句柄:window_hadnle
    • 切换窗口:driver.switch_to.window()
    from selenium import webdriver
    import time
    
    driver = webdriver.Chrome()
    driver.get("http://sh.ganji.com/")
    driver.implicitly_wait(5)
    handle1 = driver.current_window_handle
    print("当前窗口句柄"+handle1)
    print(driver.title)
    
    driver.find_element_by_xpath('//a[@href="zhaopin/"]/span[1]').click()
    
    #获取到的所有句柄是个列表,通过列表元素下标进行切换
    handles = driver.window_handles
    print("所有窗口句柄"+handles)
    
    #切换窗口
    driver.switch_to.window(handles[1])
    current_handle = driver.current_window_handle
    print("当前窗口句柄"+current_handle)
    print(driver.title)
    #关闭当前窗口
    driver.close()
    time.sleep(2)
    #结束浏览器的进程
    driver.quit()
  • 相关阅读:
    HDU 4472 Count DP题
    HDU 1878 欧拉回路 图论
    CSUST 1503 ZZ买衣服
    HDU 2085 核反应堆
    HDU 1029 Ignatius and the Princess IV
    UVa 11462 Age Sort
    UVa 11384
    UVa 11210
    LA 3401
    解决学一会儿累了的问题
  • 原文地址:https://www.cnblogs.com/ygzy/p/9558913.html
Copyright © 2011-2022 走看看