python+selenium的frame表单切换01

switch_to.frame()                               切换frame

switch_to.default_content()                切换到主页面 #从frame中切回主文档

switch_to.parent_frame()                    这是switch_to中独有的方法,可以切换到上一层的frame,对于层层嵌套的frame很有用

# selenium给我们提供了一个方法能够从子frame切回到父frame,而不用我们切回主文档再切进来。

element = driver.switch_to.active_element 定位到当前聚焦的元素上

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

driver.switch_to.frame(‘frame_name‘)       #name来点位

driver.switch_to.frame(1)                           #id来定位

driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0])                 #用webelement对象来定位,先获取对象

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

注意:此处 id是实时变动的,name为空;

from selenium import webdriverfrom time import sleepdriver = webdriver.Firefox()

url = "http://mail.163.com/"driver.get(url)                         # 进入163邮箱首页sleep(10)

driver.find_element_by_id(‘switchAccountLogin‘).click()    #点击密码登录

sleep(5)print(‘1111111111111111‘)

#driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0])       #复数,定位一组iframe的第一个

driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))           #因为只有一个iframe,这个也可以用

sleep(5)print(‘2222222222222222222222‘)

driver.find_element_by_name(‘email‘).send_keys(‘[email protected]&‘)     #用户名框输入sleep(10)print(‘3333333333333333333333333333333333‘)

driver.find_element_by_name(‘password‘).click()     #密码框获取焦点

ele_box = driver.switch_to.active_element           # 通过定位输当前焦点元素,并再次输入数据ele_box.send_keys("12345sdfgh")

sleep(10)print(‘44444444444444444‘)

driver.switch_to.default_content()       #回到主界面

sleep(5)

driver.find_element_by_link_text(‘网易首页‘).click()

sleep(10)

driver.close()

原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12040818.html

时间: 2024-08-30 05:52:18

python+selenium的frame表单切换01的相关文章

7 frame表单切换、多窗口切换

frame表单切换.多窗口切换 1 frame表单 frame:HTML页面中的一种框架,主要作用是在当前页面中指定区域显示另一页面元素(HTML语言中,frame/iframe标签为表单框架) 1.1 frame表单切换 说明:在WebDriver类库中封装了HTML页面中使用frame表单框架技术定位的方法 方法: 1). driver.switch_to.frame("myframe1") 切换表单方法 (myframe1:为frame表单的name或id) 2). driver

selenium 窗口切换(多表单切换)

在web应用中,前台网页的设计一般会用到iframe/frame表单嵌套页面的应用.简单的就是一个页面签嵌套多个HEML/JSP文件.selenium webdriver  只能在同一页面识别定位元素,可以狭隘的理解成只能识别当前所在位置的页面上的元素.对于不同的iframe/frame表单中的元素是无法直接定位的.需要结合switchTo().frame()方法切换到指定的frame/iframe中.switchTo().frame()默认的是取表单的ID和name属性.如果没有id和name

Selenium 3----定位一组元素+多表单切换+多窗口切换

定位一组元素 和定位单个元素类似,WebDriver提供了8种用于定位一组元素的方法.定位一组元素的方法与定位单个元素的方法类似,唯一的区别是在单词element后面多了一个s表示复数. find_elements_by_id() find_elements_by_name() find_elements_by_class_name() find_elements_by_tag_name() find_elements_by_link_text() find_elements_by_partia

第 4 章 WebDriver API - 4.9 多表单切换 - 4.14 下载文件

4.9 多表单切换 在 Web 应用中经常会遇到 frame/iframe 表单嵌套页面的应用,WebDriver 只能在一个页面上对元素进行识别和定位,无法直接定位 frame/iframe 表单内嵌页面上的元素,这时就需要通过 switch_to.frame()方法将当前定位的主体切换为 frame/iframe 表单的内嵌页面.这里以 126 邮箱登录为例,登录框结构如下. 通过 switch_to.frame()方法切换表单. """ * switch_to.fram

学习Selenium元素定位--多表单切换

在Web应用中经常会遇到frame/iframe表单嵌套页面的应用,WebDriver只能在一个页面上对元素识别与定位,对于frame/iframe表单内嵌页面上的元素无法直接定位.这时就需要通过switch_to.frame()方法将当前定位的主体切换为frame/iframe表单的内嵌页面中. #!/usr/bin/env/ python # coding:utf-8 # Date:2019/1/10 from selenium import webdriver import time #打

4.9 多表单切换

在 web 应用中经常会遇到 frame 嵌套页面的应用,页 WebDriver 每次只能在一个页面上识别元素,对于 frame 嵌套内的页面上的元素,直接定位是定位是定位不到的.这个时候就需要通过 switch_to_frame()方法将当前定位的主体切换了 frame 里. 1 <html> 2 <head> 3 <link href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.mi n.css&q

注册和登录表单切换的大气登录页模板

全屏的背景图片,简洁的设计,注册和登录表单可切换,很不错的登录页模板.演示  下载 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><he

python带cookie提交表单自动登录(转)

今天突然把博客给申请了,以前也想过的,奈于自己觉得水平还太低有点不好意思写博客,但是后来一想,自己的记录所学,加深印象,主要还是为了学习进步,不怕丢人!今天就稍微回顾一下这两天写的一段用python模拟浏览器登录自己学校官网的代码吧(多亏大神指导了). 1 import urllib 2 import urllib2 3 import cookielib 4 5 login_url = "xxxxxxxxxxxxx" 6 7 cj = cookielib.CookieJar()#实例化

Python django admin 替换表单控件

测试版本: Python 2.7 Django 1.6.2 models.py from django.db import models class Article(models.Model): title = models.CharField(u'文章标题', max_length=120, blank=True) summary = models.CharField(u'文章摘要', max_length=255, blank=True) admin.py from django.contr