webdriver 属于selenium 体系中设计出来操作浏览器的一套API
1.元素的定位
1.id属性定位
实例: find_element_by_id("kw")
2.name属性定位,同id一样是属性值
实例: find_element_by_name("wd")
3.class属性定位
实例: find_element_by_class_name("s_ipt")
4.tag标签名定位
实例: find_element_by_tag_name("input")
5.link文本链接定位
实例: find_element_by_link_text("新闻")
partial link通过标签对之间的部分文本信息来定位元素
实例:find_element_by_partial_link_text("部分文本信息")
6.XPath 定位
绝对路径定位 (div[2]表示当前层级下的第二个div)
实例:find_element_by_xpath("/html/body/div/div[2]/div/div/div/from/span[2]/input")
利用元素属性定位,元素的任意属性都可以使用,*表示任意标签名。
实例:find_element_by_xpath("//input[@id='kw']")
find_element_by_xpath("//*[@type='submit']")
层级与属性的结合,通过上一级或上几级的属性进行定位查找
实例:find_element_by_xpath("//span[@class='bg s_ipt_wr']/input")
find_element_by_xpath("//form[@id='form']/span[2]/input")
使用逻辑运算符and,多个属性来查找元素。
实例:find_element_by_xpath("//input[@id='kw' and @class='su']/span/input")
Firebug前端调试工具 和 FirePath插件可以方面的辅助生成XPath语法
7.css定位
通过class属性定位,用(.)表示
实例:find_element_by_css_selector(".s_ipt")
通过id属性定位。用(#)表示
实例:find_element_by_css_selector("#kw")
通过标签名定位
实例:find_element_by_css_selector("input")
通过父子关系定位
实例:find_element_by_css_selector("span>input")
通过属性定位 title=move mouse here 或者title$=here或者title*=mouse
实例:find_element_by_css_selector("input[title^=move]")
组合定位
实例;find_element_by_css_selector("form.fm>span>input#kw")
2.控制浏览器的大小,后退,前进,刷新。
driver.refresh() (刷新)
3.简单的元素操作
.clear():清楚文本
.send_keys("*value"):模拟按键输入
.click():单击元素
.submit():提交表单 webelement接口常用方法,远不及click()广泛
from selenium import webdriver
一. 1. 引入ActionChains类才可以进行鼠标操作
6.获得验证信息
通常用的最多的验证信息是title.URL.text
title:1.打印当前title和URL
title = drive.title
print(title)
now_url=driver.current_url
print(now_url)
2.执行126邮箱登陆的操作
。。。。。。。。。
3.再次打印当前title.URL和text
title = drive.title
print(title)
now_url=driver.current_url
print(now_url)
user= driver.find_element_by_id(“spnUid”).text
2.切换到表单iframe(id=“if”),switch_to.frame():可以直接取表单的id或name属性
如果iframe没有可用的id或name属性,可以先通过xpath定位,然后将值传给switch_to.frame()
1. driver.switch_to.frame("if")
driver = webdriver.Firefox(firefox_profile=fp)
1.定义要输入的内容text
2.对文本框进行定位
3.将text与javaScript代码通过“+”进行拼接。目的:为了使输入的内容变得可自定义
4.通过execute_Script()执行javaScript代码
再次访问xx网站,将会自动登陆
20.webdriver的原理
webdriver 属于selenium 体系中设计出来操作浏览器的一套API的更多相关文章
- 『心善渊』Selenium3.0基础 — 3、使用Selenium操作浏览器对象的基础API
目录 1.导入Selenium库 2.创建浏览器对象 3.浏览器窗口大小设置 4.浏览器位置设置 5.请求访问网址 6.浏览器页面前进.后退和刷新 7.关闭浏览器 相比于高大上的各种Selenium进 ...
- selenium+python自动化之操作浏览器
一.打开网站 1.第一步:从selenium里面导入webdriver模块 2.打开Firefox浏览器(Ie和Chrome对应下面的) 3.打开百度网址 二.设置休眠 1.由于打开百度网址后,页面加 ...
- Selenium with Python 006 - 操作浏览器
#!/usr/bin/env python # -*- coding: utf-8 -*- from selenium import webdriver import time driver = we ...
- java selenium (十) 操作浏览器
本篇文章介绍selenium 操作浏览器 阅读目录 浏览器最大化 前进,后退, 刷新 public static void testBrowser(WebDriver driver) throws E ...
- [Python爬虫]使用Selenium操作浏览器订购火车票
这个专题主要说的是Python在爬虫方面的应用,包括爬取和处理部分 [Python爬虫]使用Python爬取动态网页-腾讯动漫(Selenium) [Python爬虫]使用Python爬取静态网页-斗 ...
- selenium操作浏览器的前进和后退
前进关键字:driver.forward() 后退关键字:driver.back() 测试对象:1.https://www.baidu.com/ 2.https://www.sogou.com/ 实例 ...
- 爬虫模块介绍--selenium (浏览器自动化测试工具,模拟可以调用浏览器模拟人操作浏览器)
selenium主要的用途就是控制浏览器,模仿真人操作浏览器的行为 模块安装:pip3 install selenium 需要控制的浏览器 from selenium import webdriver ...
- 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求
第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求 selenium模块 selenium模块为 ...
- No.1 selenium学习之路之浏览器操作
selenium基础,首先就是浏览器的相关操作 下面描述几种浏览器的常用操作 1.打开浏览器 webdriver后面添加想要打开的浏览器 Ie或者Chrome 2.打开指定页面(百度) 3.休眠时间 ...
随机推荐
- .Net反射-TypeDescriptor
.Net中提供了两种方式访问类型的元数据:System.Reflection命名空间中提供的反射API和TypeDescriptor类.反射适用于所有类型的常规机制,它为类型返回的信息是不可扩展的,因 ...
- 使用EventBus对模块解耦(附实例)
用于模块间解耦,通过发布订阅的方式调用,每个人只负责自己的那部分. 写个小例子,比如现在有三个模块,订单.购物车.优惠券,由不同的人负责开发. 负责订单模块的人现在需要写个生成订单的方法,生成订单的逻 ...
- Checking Types Against the Real World in TypeScript
转自:https://www.olioapps.com/blog/checking-types-real-world-typescript/ This is a follow-up to Type-D ...
- django数据处理
目录 django积累 连接数据库: 模板 后台管理 功能扩展: 日志打印: django积累 连接数据库: 连接数据库 : 1.创建数据库 create database oa default ch ...
- Centos查看虚拟机IP地址及使用XShell连接
1.在VMware中安装Centos7系统[1] 2.查看虚拟机里的Centos7的IP[2] 1)查看IP 输入ip查询命名 ip addr 发现 ens33 没有 inet 这个属性,那么就没法通 ...
- Docker 部署web项目
1.查找Docker Hub上的tomcat镜像 # docker search tomcat 2.拉取官方的镜像 # docker pull tomcat 提示:Using default ...
- 三个基于.net的浏览器内核使用的比较
最近做模拟登陆发帖相关的项目 分别尝试了基于IE .NET自带的 webbrowser 和 基于WebKit 的WebKit.NET和openWebkitSharp 最开始肯定是用的.NET自带的we ...
- 二叉树遍历(前序、中序、后序)-Java实现
一.前序遍历 访问顺序:先根节点,再左子树,最后右子树:上图的访问结果为:GDAFEMHZ. 1)递归实现 public void preOrderTraverse1(TreeNode root) { ...
- spark 调优(官方文档)
1.序列化 对象在进行网络传输或进行持久化时需要进行序列化,如果采用序列化慢或者消耗大量字节的序列化格式,则会拖慢计算. spark 提供了两种序列化类库 1). Java serialization ...
- windows上svn图标不显示 绿色对号
http://blog.csdn.net/fengyupeng/article/details/12514449 症状1:项目左侧导航栏表不能正常显示图标 方法:windows->prefere ...