selenium3 + python - cookie定位】的更多相关文章

from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitimport time driver = webdriver.Chrome()# 启动浏览器后获取cookiesprint(driver.get_cookies())driver.get("https://www.cnblogs.com/Teachertao/")# 打开主页后获取cookiesprint(driv…
前言 在web页面中经常会遇到table表格,特别是后台操作页面比较常见.本篇详细讲解table表格如何定位. 一.认识table 1.首先看下table长什么样,如下图,这种网状表格的都是table 2.HTML源码如下: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Table 测试模板</title>…
什么是xpath呢? 官方介绍:XPath即为XML路径语言,它是一种用来确定XML1(标准通用标记语言3的子集)文档中某部分位置的语言.反正小编看这个介绍是云里雾里的,通俗一点讲就是通过元素的路径来查找到这个元素的,相当于通过定位一个对象的坐标,来找到这个对象. 一.xpath:属性定位 1.xptah也可以通过元素的id.name.class这些属性定位,如下图 2.定位方法如下: from selenium import webdriverdriver = webdriver.Chrome…
一.Select模块(index)     1.导入Select模块.直接根据属性或索引定位     2.先要导入select方法:from selenium.webdriver.support.select import Select     3.然后通过select选项的索引来定位选择对应选项(从0开始计数),如选择第三个选项:select_by_index(2) select_by_index()  :通过索引定位select_by_value()  :通过value值定位select_b…
一.css:属性定位 1.css可以通过元素的id.class.标签这三个常规属性直接定位到 2.如下是百度输入框的的html代码: <input id="kw" class="s_ipt" type="text" autocomplete="off" maxlength="100" name="wd"/> 3.css用#号表示id属性,如:#kw 4.css用.表示clas…
from selenium import webdriverfrom selenium.webdriver.support.wait import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECfrom selenium.webdriver.common.action_chains import ActionChainsfrom selenium.webdriver.support.sel…
让python cookie支持特殊字符 先对cookie做下简单的介绍 cookie的作用: tcp协议能够通过三次握手建立连接.client发送的多次请求能够通过句柄维护同一个连接.可是http协议是一种无状态的协议.对于浏览器发送的多次请求,server是无法区分是不是同一个浏览器发送的.这样就须要使用额外的数据维护会话. 服务端收到浏览器的请求,在响应的时候能够种cookie,这样client与服务端能够将cookie来回传递,从而维护一个session状态 cookie有2个必备的属性…
为什么要用Cookie?在测试多个页面时候可绕过验证码输入,直接添加cookie,也可以在添加唯一标识时候使用. 一.操作浏览器的Cookie 1.1.验证码的处理方式 说明:WebDriver类库中没有对验证码处理的方法,但是在这里可以叙说下针对验证码的几种常用处理方式: 方式:1). 去掉验证码(测试环境下-采用)2). 设置万能验证码(生产环境-采用)3). 验证码识别技术(通过Python-tesseract来识别图片类型验证码:识别率很难达到100%)4). 记录cookie(通过记录…
学习小结: 这里使用ChromeV73+web driver 2.46 #几种定位方式: #Autotest.py from selenium import webdriver from selenium.webdriver.common.by import By import time dr = webdriver.Chrome() dr.get("http://www.baidu.com") #通过各种元素:name,id,class,tag,text dr.find_elemen…
iframe 一.frame:HTML页面中的一种框架,主要作用是在当前页面中指定区域显示另一页面元素: 二.操作Frame中的页面元素 定位元素: 1.id定位driver.switch_to.frame('frame_id') 2.name定位driver.switch_to.frame('frame_name') 3.索引driver.switch_to.frame(0) 4.webelement对象a=driver.find_element_by_xpath('//iframe')dri…
自动化测试只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.元素定位在这四个环节中是至关重要的,如果说按学习精力分配的话,元素定位占70%:操作元素10%,获取返回结果10%:断言10%.如果一个页面上的元素不能被定位到,那后面的操作就无法继续了.接下来就来讲webdriver提供的八种基本元素定位方法. WebDriver元素八种定位方式:id.name.class_name.tag_name.link_text.partial_lin…
Cookie模块同样是Python标准库中的一员,它定义了一些类来解析和创建HTTP 的 cookie头部信息. 一.创建和设置Cookie >>> import Cookie #导入Cookie操作模块,注意首字母是大写的.>>> c = Cookie.SimpleCookie() #创建对象>>> c[‘mycookie’] = ‘cookie_value’>>> print c>>>这样,就输出了一个符合规则的…
     在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException),一般可以从以下几个方面着手解决: 1.Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位. 解决方案: 如果i…
前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 另一篇博文  Python Selenium Cookie 绕过验证码实现登录  介绍了另外一种处理方式,及实际项目应用实战,有兴趣的同学可以点击查看. 一.抓登录cookie 1.登录后会生成一个已登录状态的cookie,那么只需要直接把这个值添加到cookies里面就可以了. 2.可以先手动登录一次,然后抓取这…
前言 有不少小伙伴在安装selenium环境后启动firefox报错,因为现在selenium升级到3.0了,跟2.0的版本还有有一点区别的. 安装环境过程中主要会遇到三个坑: 1.'geckodriver' executable needs to be in PATH 2.Expected browser binary location, but unable to find binary in default location 3.Unsupported Marionette protoco…
Python+Selenium有以下八种定位元素的方法: 1. find_element_by_id() eg: find_element_by_id("kw") 2. find_element_by_name() eg: find_element_by_name("wd") 3. find_element_by_class_name() eg: find_element_by_class_name("bg s_btn") 4. find_ele…
前言 有不少小伙伴在安装selenium环境后启动firefox报错,因为现在selenium升级到3.0了,跟2.0的版本还有有一点区别的. 安装环境过程中主要会遇到三个坑: 1.'geckodriver' executable needs to be in PATH 2.Expected browser binary location, but unable to find binary in default location 3.Unsupported Marionette protoco…
1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的浏览器,支持windows\linux\macos等各种平台. Selenium 脚本是用多种受支持的编程语言中的一种编写的 —— 目前可用的有 Java.Ruby 和 Python 驱动程序.这些脚本在浏览器之外的一个单独的进程中运行.驱动程序的任务是执行测试脚本,并通过与运行在浏览器中的 bro…
selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 常见场景: 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的. 这时候需要借助滚动条来拖动屏幕,使被操作的元素显示在当前的屏幕上. 滚动条是无法直接用定位工具来定位的.selenium里面也没有直接的方法去控制滚动条, 这时候只能借助J了,还好selenium提供了一个操作js的方法: execute_script(),可以直接执行js的脚本. 一.JavaScript简介…
有小伙伴在用脚本启动浏览器时候发现原来下载的插件不见了,无法用firebug在打开的页面上继续定位页面元素,调试起来不方便 . 加载浏览器配置,需要用FirefoxProfile(profile_directory)这个类来加载, profile_directory既为浏览器配置文件的路径地址 一.遇到问题 1.在使用脚本打开浏览器时候,发现右上角原来下载的插件firebug不见了,到底去哪了呢? 2.用脚本去打开浏览器时候,其实是重新打开了一个进程,跟手动打开浏览器不是一个进程. 所以没主动加…
一.认识单选框和复选框 1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是圆的:下图复选框是方的,这个是业界的标准,要是开发小伙伴把图标弄错了,可以先抽他了. 二.radio和checkbox源码 1.上图的html源码如下,把下面这段复杂下来,写到文本里,后缀改成.html就可以了. <html>      <head>      <meta http-equiv="content-type" content="text…
原文链接:http://www.cnblogs.com/wdong/archive/2010/08/19/1802951.html 常年奋斗在编码一线的同学,应该都深有体会,工作久了,很多项目文件.技术资料,设计文档,安装包等等一堆一堆的工作目录分散在各个磁盘中,需要用到的时候,频繁的在各个目录中切换,每次都得用资源浏览器打开,还得点多次鼠标才能找到,或者有些如Apache或者tomcat等服务又需要用命令行启动,如果文件目录层次比较深的话,每次重复下列动作: 开发运行->cmd->c:\\D…
前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要.本系列依然以selenium3为基础. 一.selenium简介 Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架.它是一款用于运行端到端功能测试的超强工具.您可以使用多个编程语言编写测试,并且 Selenium 能够在一个或多个浏览器中执行这些测试. Selenium的发展经历了三个阶段,第一个阶段,也就是selenium1的时代,在运行s…
前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要.本系列依然以selenium3为基础. 一.selenium简介 Selenium 是用于测试 Web 应用程序用户界面 (UI) 的常用框架.它是一款用于运行端到端功能测试的超强工具.您可以使用多个编程语言编写测试,并且 Selenium 能够在一个或多个浏览器中执行这些测试. Selenium的发展经历了三个阶段,第一个阶段,也就是selenium1的时代,在运行s…
tell()方法告诉你文件内的当前位置, 换句话说,下一次的读写会发生在文件开头这么多字节之后. seek(offset [,from])方法改变当前文件的位置.Offset变量表示要移动的字节数.From变量指定开始移动字节的参考位置. 如果from被设为0,这意味着将文件的开头作为移动字节的参考位置.如果设为1,则使用当前的位置作为参考位置.如果它被设为2,那么该文件的末尾将作为参考位置. 例子: 就用我们上面创建的文件foo.txt. #!/usr/bin/python # -*- cod…
   在做web应用的自动化测试时,定位元素是必不可少的,这个过程经常会碰到定位不到元素的情况(报selenium.common.exceptions.NoSuchElementException),一般可以从以下几个方面着手解决: 1.Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位. 解决方案: 如果ifr…
1.什么是Selenium,为什么web测试,大家都用它? Selenium设计初衷就是为web项目的验收测试再开发.内核使用的是javaScript语言编写,几乎支持所以能运行javaScript的浏览器,支持windows\linux\macos等各种平台. Selenium 脚本是用多种受支持的编程语言中的一种编写的 —— 目前可用的有 Java.Ruby 和 Python 驱动程序.这些脚本在浏览器之外的一个单独的进程中运行.驱动程序的任务是执行测试脚本,并通过与运行在浏览器中的 bro…
自动化测试概述 1.自动化分类: (1)单元测试自动化: 单元测试(Unit):模拟各种异常场景,外部依赖较少,且可以做测试单元到最小的一种测试方法. Java单元测试框架Junit.TestNG; Python单元测试框架Unittest. (2)接口自动化 接口测试(API):对系统的结构和系统间的调度非常清楚,了解接口逻辑关系. 工具有Jmeter.Postman.Loadrunner等: (3)web/移动端自动化: 页面测试(GUI):常见的黑盒自动化测试,最接近用户真实场景,容易发现…
一.selenium简介 1.Selenium历史 (1)Selenium 1.0: Selenium IDE      Selenium Grid    Selenium RC(核心功能) Selenium的发展经历了三个阶段,第一个阶段,也就是selenium1的时代,在运行selenium1.0程序之前,我们得先启动selenium server端(selenium remote control),我们简称RC.RC主要包括三个部分:launcher,http proxy,selenium…
一个元素定位可能会在多个地方用到,用loc变量接收元素的定位方式和相对路径.使用时再拆包(*loc) loc = (定位方式,'定位方式对应的元素路径')    =>元素定位方式及路径 driver.find_element(*loc).事件    => 查找元素并进行事件操作 from selenium import webdriverfrom selenium.webdriver.common.by import Bydriver = webdriver.Chrome()driver.ge…