zoukankan      html  css  js  c++  java
  • selenium.切换iframe

    切换frame的方法

    (配合HTML代码食用)

    API 注释
    .switch_to.frame(0) 用frame的index来定位,第一个是0
    .switch_to.frame("baidu") 用id来定位
    .switch_to.frame("百度") 用name来定位
    .switch_to.frame(.find_element_by_tag_name("百度")) 用WebElement对象来定位
    .switch_to.frame(.find_element_by_xpath("//iframe[contains(@id,'baidu')]")) 用xpath定位,传入WebElement对象
    .switch_to.frame('baidu) frame一层一层的切入
    .switch_to.parent_frame() iframe退后操作,一层一层的退回
    .switch_to.default_content() 切换到主页面

    用来练习的HTML代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
            <meta charset="UTF-8">
            <title>Title</title>
    </head>
    <body>
    <iframe id= "baidu" name="百度" src="http://www.BAIDU.com" HEIGHT="300" WIDTH="1280"></iframe>
    <iframe id= "sougou" name="搜狗" src="https://www.sogou.com/" HEIGHT="300" WIDTH="1280"></iframe>
    </body>
    </html>
    

    练习步骤如下:

    1. 进入百度进行搜索
    2. 退回主页
    3. 进入搜狗进行搜索
    4. 后退一层frame
    5. 进入百度清空搜索框
    点击查看代码
    
    from selenium import webdriver
    from time import sleep
    

    url = "file:///C:/Users/BIN/Desktop/fra.html"
    browser = webdriver.Chrome()
    browser.get(url)
    browser.implicitly_wait(5)

    进入百度进行搜索

    browser.switch_to.frame("baidu")
    browser.find_element_by_xpath("//*[@id='kw']").send_keys("selenium")

    退回主页

    browser.switch_to.default_content()

    进入搜狗进行搜索

    sleep(1)
    browser.switch_to.frame(1)
    browser.find_element_by_xpath("//[@id='query']").send_keys("iframe")
    browser.find_element_by_xpath("//
    [@id='stb']").click()

    后退一层frame

    这里退回只能退到主页,比如后退两次到之前的ifarme界面则不可以实现

    sleep(1)
    browser.switch_to.parent_frame()

    browser.switch_to.parent_frame()

    sleep(1)

    进入百度清空搜索框

    browser.switch_to.frame("百度")
    browser.find_element_by_xpath("//*[@id='kw']").clear()

    sleep(1)
    browser.quit()

  • 相关阅读:
    iap 详细
    血的教训,下次开工程 一点要写好判断空字符串方法
    iOS中的ScrollView
    自定义弹框加载方式
    CAGradientLayer简介(处理视图渐变色)
    iOS 制作view渐变的效果CAGradientLayer
    将vs2012的项目转化成VS2010
    关于Excel导入的HDR=YES; IMEX=1详解
    C#读取Excel表中的数据时,为何有些行的字段内容读取不到
    OLEDB读取EXCEL表格时,某些字段为空,怎么办?
  • 原文地址:https://www.cnblogs.com/youngleesin/p/11360094.html
Copyright © 2011-2022 走看看