• selenium_iframe 三种切换方式


     
    
     
    
    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    from selenium import webdriver
    from selenium.webdriver.support.wait import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.common.by import By
    import time
    
    # 启动谷歌浏览器,开启与浏览器之间的会话
    driver = webdriver.Chrome()
    
    '''对浏览器进行操作'''
    # 访问一个网页
    url = 'https://ke.qq.com/'
    driver.get(url)
    
    # 窗口最大化
    driver.maximize_window()
    
    # 点击【登录】按钮
    driver.find_element_by_xpath("//a[@id='js_login']").click()
    
    # 登录密码弹窗的
    login_xpth="//div[@class='login-qq-iframe-wrap']//iframe"
    web_locted=EC.visibility_of_element_located((By.XPATH,login_xpth))
    WebDriverWait(driver,10).until(web_locted)
    
    # 切换到iframe方式一:使用iframe的name
    # driver.switch_to.frame("frame_name")
    
    # 切换到iframe方式二:使用常定位的8种方式,进入到另一个html 进行操作
    # driver.switch_to.frame(driver.find_element_by_xpath(login_xpth))
    
    # # 切换到iframe方式三:使用等待
    WebDriverWait(driver,10).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,login_xpth)))
    
    time.sleep(0.5)
    driver.find_element_by_id('switcher_plogin').click()
    
    # 从iframe当中,再回到主页面
    driver.switch_to.default_content()
    
    # driver.switch_to.parent_frame()
    time.sleep(0.2)
    driver.find_element_by_xpath("//a[@class='login-close']").click()
     
    越努力越幸运
  • 相关阅读:
    Android View体系(七)从源码解析View的measure流程
    Android View体系(六)从源码解析Activity的构成
    Android View体系(五)从源码解析View的事件分发机制
    Android View体系(四)从源码解析Scroller
    Android常用学习网站
    Android View体系(三)属性动画
    购物车
    模块与包
    s5_day9作业
    s5_day11作业
  • 原文地址:https://www.cnblogs.com/lfang/p/15123399.html
Copyright © 2020-2023  润新知