• Python+Selenium练习(二十七)- 处理iframe切换


      利用Selenium中方法,在不同iframe中切换。

      问题:很多时候会发现元素定位没问题,在测试回放过程中,发现就是找不到元素报错。

      参考作者编写的网页,利用iframe网页框架,把页面分成上下两个不同的iframe控制的页面。使用方法:把下面的HTML代码保存到一个记事本里面,然后名称为iframe=demo.html

    <html>
    <head><title>iframe test page</title></head>
    <body>
    <iframe id="frame1" src="https://www.baidu.com" name="slider" height="325" width="550"></iframe>
    <br>
    <iframe id="frame2" src="http://example.com" name="example" height="325" width="550"></iframe>
    </body>
    </html>
    

      

    用浏览器打开后是这样的:

    具体代码:

    driver.switch_to.frame("frame1")
    driver.switch_to.default_content()
    

      

    举例:

    import time
    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.maximize_window()
    driver.implicitly_wait(6)
    
    driver.get("https://www.126.com")
    time.sleep(3)
    driver.find_element_by_xpath('//*[@id="lbNormal"]').click()
    time.sleep(1)
    iframe = driver.find_element_by_xpath('//*[@id="loginDiv"]/iframe')
    driver.switch_to.frame(iframe)
    # 切换到iframe,若无此行代码,则找不到帐号输入框
    driver.find_element_by_name("email").send_keys("selenium switch test")
    # 在账号输入框内输入
    time.sleep(2)
    driver.quit()
    

      

    参考文章:https://blog.csdn.net/u011541946/article/details/70136050

  • 相关阅读:
    抽象工厂模式
    工厂方法模式
    简单工厂模式
    多例模式
    深入分析 Java 中的中文编码问题
    PipedInputStream和PipedOutputStream详解
    单例模式
    Java IO和NIO文章目录
    wsdlLocation可以写成项目的相对路劲吗
    ssh框架配置事务管理器
  • 原文地址:https://www.cnblogs.com/zhaocbbb/p/12652048.html
Copyright © 2020-2023  润新知