zoukankan      html  css  js  c++  java
  • iframe切换,xpath函数

    了解iframe

    iframe是一种html封装,内嵌页面,方便相同功能的网页复用代码,可以一定程度上减少开发量

    所以在测试一个大型web项目的时候,包含iframe标签就不稀奇,但是在切换frame之前去定位,操作frame中的元素都是无法实现的。

     

    切换frame的方式

    通过iframe的名字

    driver.switch_to.frame('login_frame') driver.
    find_element_by_xpath("//a[text()='帐号密码登录']").click()

     

    通过索引去切换iframe标签

    time.sleep(2)
    driver.switch_to.frame(0)
    
    driver.find_element_by_xpath('//div[@id="wxLoginTab"]').click()
    driver.find_element_by_xpath('//p[@id="auto_login"]/a').click()

    通过element节点去进行切换

    ele_iframe = driver.find_element_by_xpath('//iframe[@id="login_frame"]')
    driver.switch_to.frame(ele_iframe)
    driver.find_element_by_xpath("//a[text()='帐号密码登录']").click()

    xpath定位

    逻辑运算

    and

    //a[@class='nav-block' and @title='京东' and @target='_blank']

     

    or

    //span[text()='推荐' or text()='导航']

     

    xpath函数

    text() 获取节点的文本内容
    contains(parm1,param2)  判断param1中是否函授param2
    starts-with(参数1,参数2):判断参数1是否以参数2开头
    # 匹配value属性包含 ‘addicated’ 的标签
    // input[contains(@value,'addicated')]
    # 匹配title属性包含 易购的 a 标签
    //a[contains(@title,易购')]
    # 匹配文本内容是 五一假期开头的a标签
    //a[starts-with(text(),'五一假期')]

     

     

    切片---后续需要更新

    轴定位

    定位某个节点/轴名称 ::节点

     

    定位 id = form 的 form节点中,子元素中name=issp的input标签

    //form[@id='form']/child::input[@name='issp']

     

    定位id = form的form节点中, 祖先元素中 id =“wrapper”的div标签

    //form[@id='form']/ancestor::div[@id='wrapper']

     

    三大等待

    1,强制等待 time.sleep()

    2,隐式等待 driver.implicitly_wait(30)

    driver.implicitly_wait

    3,显示等待

    WebDriverWait(driver,30,0.2)

    wait.until

  • 相关阅读:
    python高阶函数filter
    python的生成器与yield
    python返回多个参数
    第一冲刺阶段工作总结09
    第一冲刺阶段工作总结08
    第一冲刺阶段工作总结07
    第一冲刺阶段工作总结06
    第八周学习进度表
    微软拼音简捷关于人机交互设计的相关评价
    第一冲刺阶段工作总结05
  • 原文地址:https://www.cnblogs.com/addicated/p/13194343.html
Copyright © 2011-2022 走看看