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. Django 数据库模块 单独使用

    pip install django pip install psycopg2 pip install mysqlclient Entity.py from django.db import mode ...

  2. numpy中与金融有关的函数

    fv函数 计算未来的价值 def fv(rate, nper, pmt, pv, when='end'): ... 参数: rate:存款/贷款每期的利率 nper:存款/贷款期数 pmt:存款/贷款 ...

  3. vue typescript curd

    用typescript 完成了一个页面 import { Component, Prop } from 'vue-property-decorator'; import Vue, { VNode } ...

  4. 使用Spring Mail发送QQ邮件

    一.邮箱设置 QQ邮箱设置:http://service.mail.qq.com/cgi-bin/help?id=28, 下面这些服务需要开启(需要设置邮箱独立密码): 二.applicationCo ...

  5. server version for the right syntax to use near 'USING BTREE 数据库文件版本不合导致的错误

    MySQL 返回:#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MyS ...

  6. 清北学堂dp图论营游记day1

    讲课人: 老师对dp的理解是类似于分治思想,由小状态推出大状态.不同的是分治算法没有重叠子问题. dp把子问题越划越小,从而推出了基础状态.然后是dp方程,要满足简洁性,并且充分描述能够影响最后结果的 ...

  7. 19.8.12 记录Scaffold(脚手架)的常见属性及使用

    Scaffold   有利于我们快速的构建页面,使用也是十分的方便. 下面记录一下其简单的使用方法 Scaffold( appBar: AppBar( title: Text('课程'), ), bo ...

  8. 交叉熵和softmax

    深度学习分类问题结尾就是softmax,损失函数是交叉熵,本质就是极大似然...

  9. SQL SERVER 2008 设置字段默认值为当前时间

    在某些情况下需要对某条记录添加上时间戳,比如用户注册,需要记录用户的注册时间,在SQL SERVER 2008中可以通过 1. 添加新字段 2. 数据类型设置为smalldatetime 3. 默认值 ...

  10. Python 练习实例3

    Python 练习实例3 题目:一个整数,它加上100后是一个完https://www.xuanhe.net/全平方数,再加上168又是一个完全平方数,请问该数是多少? 程序分析: 假设该数为 x. ...