#第一层是默认层, 第二层是新建标签的层,第三层是百度的那层
from selenium import webdriver
import time
driver=webdriver.Chrome()
driver.get('http://ui.imdsx.cn/uitester/')
# 最大化浏览器
driver.maximize_window()
# 定位到页面顶部
js='window.scrollTo(0,0)'
driver.execute_script(js)
time.sleep(2)
driver.find_element_by_css_selector('#i1').send_keys('123456')
# 进入到新建标签的那一层
driver.switch_to.frame('top-frame')
driver.find_element_by_css_selector('#newtag').send_keys('12345')
# 进入到百度的那一层
driver.switch_to.frame('baidu-frame')
driver.find_element_by_css_selector('#kw').send_keys('1233')
# 切换到上新建标签的那一层
driver.switch_to.parent_frame()
driver.find_element_by_css_selector('#newtag').clear()
# 切换到默认层
driver.switch_to.default_content()
driver.find_element_by_css_selector('#i1').clear()

selenium中iframe的切换的更多相关文章

  1. python selenium中iframe切换、window切换方法

    一.selenium中iframe切换方法: 方法一:switch_to.frame frame函数中提供了三种定位方法:by index, name, or webelement. driver.s ...

  2. selenium中三大窗口切换

    我们在做UI自动化时,不得不会遇到一些窗口跳转与弹框,在这种的时候如果不进行切换的话,继续执行脚本必然会报错,所以我们就需要用到切换窗口的方法. selenium中主要是三种窗口 Windows窗口 ...

  3. python3 + selenium 多iframe(框架)切换

    html演示: frame.html: <html> <head> <meta http-equiv="content-type" content=& ...

  4. selenium处理iframe定位于切换问题解决办法

    首先还是围绕以下几个方面来看: 1.什么是iframe? 2.为什么我们要定位iframe? 3.我们怎样定位iframe,与切换iframe? 1.什么是iframe? ♦ b/s架构都使用ifra ...

  5. 使用python处理selenium中的frame切换问题

    # iframe有name或id值 self.driver.switch_to.frame('iframe-name-id') # iframe没有name或id值 xf = self.driver. ...

  6. 使用python处理selenium中的窗口切换问题

    # 获取当前页面的句柄 ch = self.driver.current_window_handle # 获取所有句柄 ah = self.driver.window_handles # 切换句柄 s ...

  7. selenium中的元素操作之三大切换(二)

    一.窗口切换 使用方法: 1.获取到打开的所有的窗口,句柄handles all_handles = driver.window_handles print(all_handles) 2.获取当前的窗 ...

  8. selenium之 定位以及切换frame(iframe)

    Set<String> windows = driver.getWindowHandles();        int count = 0;        for(String handl ...

  9. selenium中定位iframe框

    这是使用谷歌看到的源码.想要往里面输入内容,需要使用js. 这个iframe没有id,不能通过id直接定位到.但可以通用TagName来定位到iframe. WebDriver中定位的代码如下: St ...

随机推荐

  1. MySQL 存储过程的变量

    MySQL  存储过程的变量 变量是一个命名数据对象,变量的值可以在存储过程执行期间更改.我们通常使用存储过程中的变量来保存直接/间接结果. 这些变量是存储过程的本地变量. 注意:变量必须先声明后,才 ...

  2. 【转】TCP、UDP、RTP(RTCP)区别

    转自:https://www.cnblogs.com/imystr/p/4026639.html OSI七层模型OSI 中的层            功能                        ...

  3. 虚函数 error LNK2001: 无法解析的外部符号 "public: virtual void __cdecl

    在虚函数后面加一对大括号 #ifndef CAFFE_CONV_DW_LAYER_HPP_ #define CAFFE_CONV_DW_LAYER_HPP_ #include <vector&g ...

  4. Adobe Photoshop安装

    Photoshop cc2018安装 Adobe 软件套装已不再以 (Creative Suite) CS命名,而是改成 (Creative Cloud) CC,主推云服务!Adobe CC 套装中总 ...

  5. 【堆】【洛谷例题】p1090 p1334 p1177

    (都是比较简单的典型的而且都是小根堆的例题) p1090 合并果子[传送门] 算法分析:要尽量使用最小的体力合并完所有果子,那么每次合并的两堆果子应该是这所有堆中最小的一个(因为越先合并的堆要被算的次 ...

  6. EF - Code First 开发方式

    概述: 本节介绍通过 Code First 开发建立新数据库. 借助 Code First 可以选择使用类的特性和属性执行配置,或者使用 XML 配置文件来配置,当然也可以使用 Fluent API ...

  7. 浅谈C++的智能指针

    我们使用智能指针来自动运行管理内存,避免对原始指针的使用不当而造成内存泄漏. ------------------------------------------------------------- ...

  8. .net core 2.0 webapi部署iis操作

    1.安装 .net core 2.0 runtime, (dotnet-runtime-2.0.7-win-x64.exe) https://www.microsoft.com/net/downloa ...

  9. html页面禁止用户右键粘贴复制保存的代码

    HTML页面禁止选择.页面禁止复制.页面禁止右键 原创古城寨主2018-03-01 17:50:59评论(1)228人阅读   HTML页面内容禁止选择.复制.右键 刚在一个看一个站点的源代码的的时候 ...

  10. LVS初始使用步骤

    LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver.org. 现在L ...