zoukankan      html  css  js  c++  java
  • Selenium2+python--iframe

    如果发现有些元素明明有很明显的相关属性,理论上是可以定位到的,但是就是定位不到,咋办?

    看下这些元素是不是在iframe中,这里就涉及到iframe相关的切换

    Frame和iFrame两者用法基本相同,frame是整个页面的框架,iframe是内嵌的网页元素,也可以说是内嵌的框架。

    iframe标记又叫浮动帧标记,可以用它将一个HTML文档嵌入在另一个HTML中显示,它和Frame标记的最大区别是在网页中嵌入的<Iframe></Iframe>所包含的内容与整个

    页面是一个整体,而<frame></frame>所包含的内容是一个独立的个体,可以独立显示。
    1.切换Iframe

    如果某些元素是在iFrame上,第一步则需要把定位器先切换到iFrame上,方法:switch_to_frame

    # coding:utf-8
    from selenium import webdriver

    driver = webdriver.Firefox()
    driver.get("http://mail.163.com/")
    driver.implicitly_wait(30)

    #切换iFrame
    driver.switch_to_frame("x-URS-iframe")
    driver.find_element_by_name("email").send_keys(username)
    driver.find_element_by_name("password").send_keys(password)
    # 释放iframe
    driver.switch_to_default_content()

    2.如何判断元素是否在iframe上
    yoyo的案例是火狐安装了firebug和firepath,但高版本后是没有这些插件的,还没有研究要如何判断,真正用到了再去研究了

  • 相关阅读:
    设计模式-外观模式
    发生死锁怎么办
    设计模式-工厂模式
    设计模式-模板方法
    设计模式-命令模式(Command)
    设计模式-单例模式
    设计模式-装饰器模式
    CQRS之旅——旅程8(后记:经验教训)
    CQRS之旅——旅程7(增加弹性和优化性能)
    CQRS之旅——旅程6(我们系统的版本管理)
  • 原文地址:https://www.cnblogs.com/shanliguniang/p/10653762.html
Copyright © 2011-2022 走看看