zoukankan      html  css  js  c++  java
  • 多层窗口定位&多层框架定位

    多层框架定位

    导入 webdriver
    driver = webdriver.Firefox() 打开浏览器

    driver.get('file:///D:/test/test.html')
    打开 test.html
    driver.switch_to_frame('f2')
    先切换到 f2 的 frame 框架中 driver.find_element_by_id('kw').send_keys('test') 在定位百度的输入框
    driver.switch_to_default_content() 重新回到之前的 frame
    driver.find_element_by_tag_name('a').click()

    此时才能操作 click 这个链接

    多层窗口定位

    在页面操作时,有些时候会出现多个窗口的情况,比如,点及一个链接后,会打开一 个新的窗口,此时想要对新窗口迚行操作时,就必须先切换到新的窗口才能继续操作, 可以通过 switch_to_window()方法来实现。下面通过代码来实现点击一个创意项目乊 后,会弹出该项目的具体信息页面,此时需要切换到新页面才能操作。

    print driver.title

    打印当前窗口的 title,输出结果说明,此时还是在之前的窗口操作的, 并没有切换到新的窗口
    window=driver.window_handles
    获取当前所有的浏览器操作句柄

    driver.switch_to_window(window[1])

    切换到新窗口
    print driver.title
    打印新窗口的 title

    从上面的案例中,我们需要先获叏窗口的句柄,然后再迚行切换的,句柄的觃则是, 按打开顺序来看,管理页面的窗口是第一个被打开的,那么他的句柄下标为 0,新窗 口是第二个被打开的,那么它的句柄下标是 1.window 变量接收弼前所有窗口的句柄, 通过 switch_to_window(window[1])切换到新窗口,同样也可以通过 switch_to_window(window[0])回到乊前的页面。

  • 相关阅读:
    天下无贼的IT版经典台词(zz)
    matlab混合编程向导(vc,vb,.net...)
    mcc生成的代码加入VC,VC的一些设置
    请问:Win2k下面,怎样取消mediaplayer的预览?
    win2k密码恢复
    **上海铁路局2004年最新时刻发布!**
    VC与Matlab混合编程的快速实现(31)
    校车时刻表
    悼Java师兄(转载)
    制作弹出窗口常用技巧九则
  • 原文地址:https://www.cnblogs.com/JacquelineQA/p/15589431.html
Copyright © 2011-2022 走看看