webdriver获取元素的18种方式:

1、单数模式8 种
id定位模式
element = driver.find_element_by_id('i1')
element.send_keys('UI 自动化')
print(element)
class 定位
element= driver.find_element_by_class_name('classname')
element.send_keys('你猜吧') name定位
element= driver.find_element_by_name('name')
element.send_keys('你猜吧') css定位
element= driver.find_element_by_css_selector('input[placeholder="请通过CSS SELECTOR定位元素"]')
element.send_keys('shenjing') xpath定位
element= driver.find_element_by_xpath("//*[@id='basebody']/div/div[1]/div[6]/input")
element.send_keys('shenjing') LINKTEXT 超链接文案 element= driver.find_element_by_link_text("跳转大师兄博客地址")
element.click() 模糊 匹配
driver.execute_script("window.scrollTo(0,0);") #执行js
element = driver.find_element_by_partial_link_text("跳转大师")
element.click() TAGNAME
element = driver.find_element_by_tag_name("input") #返回获取的第一个
element.send_keys("PPPP") 2、复数模式8 种
element = driver.find_elements_by_tag_name("input")[1] #返回的是相同的筛选条件筛选结果的list
print(element)
element.send_keys("今天!!!")
...... 3、底层实现2种
element = driver.find_element('By.ID','[id="i1"]')
element.send_keys('UI 自动化') 这18种调用方式最常用的是css和xpath 其他的都不常用 窗口操作 WebDriverApi接口:
webdriver获取元素的18种方式: 1、单数模式8 种
id定位模式
element = driver.find_element_by_id('i1')
element.send_keys('UI 自动化')
print(element)
class 定位
element= driver.find_element_by_class_name('classname')
element.send_keys('你猜吧') name定位
element= driver.find_element_by_name('name')
element.send_keys('你猜吧') css定位
element= driver.find_element_by_css_selector('input[placeholder="请通过CSS SELECTOR定位元素"]')
element.send_keys('shenjing') xpath定位
element= driver.find_element_by_xpath("//*[@id='basebody']/div/div[1]/div[6]/input")
element.send_keys('shenjing') LINKTEXT 超链接文案 element= driver.find_element_by_link_text("跳转大师兄博客地址")
element.click() 模糊 匹配
driver.execute_script("window.scrollTo(0,0);") #执行js
element = driver.find_element_by_partial_link_text("跳转大师")
element.click() TAGNAME
element = driver.find_element_by_tag_name("input") #返回获取的第一个
element.send_keys("PPPP") 2、复数模式8 种
element = driver.find_elements_by_tag_name("input")[1] #返回的是相同的筛选条件筛选结果的list
print(element)
element.send_keys("今天!!!")
...... 3、底层实现2种
element = driver.find_element('By.ID','[id="i1"]')
element.send_keys('UI 自动化') 这18种调用方式最常用的是css和xpath 其他的都不常用 窗口操作 # 返回当前操作的浏览器句柄
driver.current_window_handle # 返回所有打开server的浏览器句柄
driver.window_handles
以上两个用作切换浏览器的tab时封装在pyse中 #获取当前浏览器的大小
driver.get_window_size() #通过像素设置浏览器的大小
driver.set_window_size('width','height') #获取当前窗口针对于windows的位置的坐标x,y
driver.get_window_position(20,20) #最大化当前窗口,不需要任何参数
driver.maximize_window() 截取图片
1、 获取当前页面的二进制图片数据,需要自己去写入文件
driver.get_screenshot_as_png() 2、as_png的上层封装,只需要传入图片名称自动写成图片
driver.get_screenshot_as_file('fileName.png') 3、# element截取
element.screenshot() 关闭和退出
# driver.quit() #关闭所有webdriver的页面
# driver.close() #关闭当前页面 执行javascript语句
driver.execute_script('window.scrollTo(100,400);') cookie操作
根据cookiekey,获取cookie信息
cookie = driver.get_cookie('key') 获取所有的cookie信息
cookies = driver.get_cookies() #添加cookie,严格按照格式添加,cookie的name是key,value是值
driver.add_cookie({'name':'fuck','value':''}) #删除所有 cookie信息
driver.delete_all_cookies() #根据key删除对应的cookie
driver.delete_cookie('fuck') 浏览器操作
1、driver.refresh() 刷新
2、driver.forward() 前进
3、driver.back() 后退
ElementApi接口

element.get_attribute('style')   #根据标签属性名称获取value
element.send_keys() #想输入框框中输入字符串如果file类型,可以输入文件的绝对路径上传
element.clear() #清楚文本内容
element.click() #鼠标点击操作
element.is_displayed() #返回元素是否课件 True or False
element.is_selected() #返回原色是否被选中 True or False
elemen.screenshot() 截图
# 通过属性名称获取属性
element.get_property('id')
# 返回标签元素的名字
element.tag_name # 获取当前标签的宽和高
element.size # 获取元素的文本内容
element.text # 模仿回车按钮 提交数据
element.submit()
常见异常:

NoSuchElementException:没有找到元素

NoSuchFrameException:没有找到iframe

NoSuchWindowException:没找到窗口句柄handle

NoSuchAttributeException:属性错误

NoAlertPresentException:没找到alert弹出框

ElmentNotVisibleException:元素不可见

ElementNotSelectableException:元素没有被选中

TimeoutException:查找元素超时

Selenium-WebDriverApi接口的更多相关文章

  1. Selenium学习之==>WebDriverApi接口详解

    浏览器操作 driver.back() # 后退 driver.forward() # 前进 driver.refresh() # 刷新 窗口操作 driver.get_window_size() # ...

  2. Selenium:WebDriverApi接口详解

    浏览器操作 # 刷新 driver.refresh() # 前进 driver.forward() # 后退 driver.back() Cookie操作 # 根据cookieKey,获取cookie ...

  3. selenium之webdriverAPI接口详解

    1. 浏览器操作 driver.maximize_window() #最大化窗口driver.execute_script('window.scrollTo(0,0);') #滚动窗口到最上面driv ...

  4. Java +selenium Navigation接口介绍

    Navigation接口主要实现对浏览器的前进.后退.打开网址.刷新当前页面等操作的. void back():就是操作当前页面后退,相当于网页的后退按钮. void forward():就是操作当前 ...

  5. Java + selenium Timeout接口用法介绍

    上一篇介绍了关于如何启动浏览器的方法.这篇文章要介绍一下,上一篇代码中关于等待时间的接口方法,代码如下: driver.manage().timeouts().pageLoadTimeout(5, T ...

  6. ui自动化---WebDriverApi接口

    一.webdriver client原理 当测试脚本启动Chrome的时候,selenium-webdriver 会首先在新线程中启动Chrome浏览器.启动后selenium-webdriver会将 ...

  7. Selenium各种工具比较

    Selenium 1.0 Selenium 1.0是第一个基于浏览器的开源自动化测试工具.它可以使用所有支持http库的编程语言,也可以运行在所有支持javascript的浏览器上.当然它 也有它的缺 ...

  8. python接口自动化(二)--什么是接口测试、为什么要做接口测试(详解)

    简介 上一篇和大家一起科普扫盲接口后,知道什么是接口,接口类型等,对其有了大致了解之后,我们就回到主题-接口测试. 什么是接口测试 接口测试是测试系统组件间接口的一种测试.接口测试主要用于检测外部系统 ...

  9. 自动化测试Java一:Selenium入门

    From: https://blog.csdn.net/u013258415/article/details/77750214 Selenium入门 欢迎阅读Selenium入门讲义,本讲义将会重点介 ...

随机推荐

  1. symfony3 yml配置文件详解

    AppBundle\Entity\BlogComment: //映射实体    type: entity   //类型    repositoryClass: AppBundle\Repository ...

  2. Delphi 监视数据的值

  3. python连接activemq

    介绍 activeMQ是一款消息队列,关于消息队列是什么这里就不再介绍了,这里只介绍如何使用python去连接activemq进行消息的发送和接收.既然都用python去连接了,那么对于消息队列是什么 ...

  4. select,poll.epoll区别于联系

    select,poll,epoll都是IO多路复用中的模型.再介绍他们特点时,先来看看多路复用的 模型. 同其他IO的不同的是,IO多路复用一次可以等多个文件描述符.大大提高了等待数据准备好的时间的效 ...

  5. CentOS7 配置NFS(Network File System)及其使用

    1.       服务端配置 1.1.    安装NFS yum -y install nfs* 1.2.    查看是否安装了NFS与RPCBIND rpm -qa | grep nfs rpm - ...

  6. vi 必须要学会的技能

    vi与vim vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器.他是我们使用Linux系统不能缺少的工具.由于对 ...

  7. Dubbo 03 Restful风格的API

    目录 Dubbo03 restful风格的API 根路径 协议 版本 用HTTP协议里的动词来实现资源的增删改查 用例 swagger(丝袜哥) OpenAPI 资源 编写API文档 整合Spring ...

  8. ValueError:Object arrarys cannot be loaded when allow_pickle=False

    运行python程序报错:ValueError:Object arrarys cannot be loaded when allow_pickle=False 错误原因:numpy版本太高 解决方案: ...

  9. mysql向表中某字段前后追加一段字符串 concat(), trim(), ltrim(), rtrim(), repeat()

    1.mysql向表中某字段后面追加一段字符串:update table_name set field=CONCAT(field, '分隔符', str);//'分隔符',可以为空,也可以省略updat ...

  10. WinMain lpCmdLine

    int APIENTRY WinMain(HINSTANCE hInst, HINSTANCE, LPSTR lpCmdLine, int){ //命令行参数 TCHAR pCommandLine[2 ...