zoukankan      html  css  js  c++  java
  • iframe框中元素定位

    在进行UI自动化中,会遇到元素在iframe框中,在对其进行定位时需先切换到该iframe中,对iframe定位可以通过iframe元素位置定位,也可以通过索引定位

    如下:index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <center>
            <a href="index1.html">测试</a>
        </center>
        <iframe src="index1.html" name="test">
            <iframe src="index1.html" name="test2">
            </iframe>
        </iframe>
    </body>
    </html>

    index1.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <center id="kt">
            测试课堂
        </center>
    </body>
    </html>

    通过元素定位iframe

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get("D:\pycharmwokspace\UITESThtml\index.html")
    iframe_el = driver.find_element_by_name("test")
    driver.switch_to.frame(iframe_el)
    print(driver.find_element_by_id("kt").text)
    driver.quit()

    通过索引定位

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.get("D:\pycharmwokspace\UITESThtml\index.html")
    # iframe_el = driver.find_element_by_name("test")
    driver.switch_to.frame(0)
    print(driver.find_element_by_id("kt").text)
    driver.switch_to.default_content() #切换到最外层
    driver.quit()

    多层嵌套的实现思路为:先进入第一层,再进入第二层,写法类似

  • 相关阅读:
    【原创】C++11:左值和右值(深度分析)
    【基础核心理论】运算符重载
    左值与右值引用 详解
    托盘图标编程
    C/C++ 数组与指针
    webpack 4.0改版问题
    mysql5.7安装记录
    equals方法
    【原创】IO流:读写操作研究(输入流)
    为什么重写equals一定要重写hashCode?
  • 原文地址:https://www.cnblogs.com/heertong/p/12392725.html
Copyright © 2011-2022 走看看