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.休眠时间 ...
随机推荐
- 第05组 Beta冲刺(4/4)
第05组 Beta冲刺(4/4) 队名:天码行空 组长博客连接 作业博客连接 团队燃尽图(共享): GitHub当日代码/文档签入记录展示(共享): 组员情况: 组员1:卢欢(组长) 过去两天完成了哪 ...
- 原生PHP+原生ajax批量删除(超简单),ajax删除,ajax即点即改,完整代码,完整实例
效果图: 建表:company DROP TABLE IF EXISTS `company`;CREATE TABLE `company` ( `id` int(11) NOT NULL AUTO_I ...
- docker概述和安装及基本操作
一:概述 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用 ...
- Debian9 安装软件汇总
dpkg dpkg -i 安装本地安装包 echo 'pkgname newstat' | dpkg --set-selections 修改软件包安装状态 newstat install,deinst ...
- Python3 异常
异常 --- 程序执行时产生的事件,为Python对象 <Python学习手册>笔记 异常总是通过实例对象来识别 默认的异常处理器 --- 打印标准出错信息(包括引发的异常和堆栈跟踪-异常 ...
- 使用PostMan进行压力/性能测试
1. 2. 3. 4.查看结果/导出结果
- salt 安装
list: centos 6.5 x86_64 172.18.39.28 mast.test.com 172.18.39.27 mini.test.com master:#sudo yum insta ...
- windows server 2008的系统备份
添加windows server backup功能,打开运行“服务器管理器”->“功能”选项, 点击“添加功能”,选择“Windows Server Backup”,选择下一步安装该功能. 点击 ...
- Linux搭建Nexus3.X构建maven私服
备注:linux版本: ubuntu 同时已经部署好JDK8环境 一.linux安装nexus 1.创建文件夹并进入该目录 cd /usr/local && mkdir nexus & ...
- 【RS】:论文《Neural Collaborative Filtering》的思路及模型框架
[论文的思路] NCF 框架如上: 1.输入层:首先将输入的user.item表示为二值化的稀疏向量(用one-hot encoding) 2.嵌入层(embedding):将稀疏表示映射为稠密向量( ...