1.控制浏览器大小 set_window_size() 设置浏览器大小 该方法有两个参数,第一个参数是宽,第二个是高 maximize_window() 设置浏览器全屏显示,无参数 chrome谷歌浏览器在控制浏览器大小时,报错 : unknown error: cannot get automation extension 解决办法:将chrome的webdriver驱动更新到最新的 参考网上:http://blog.csdn.net/lj2tj/article/details/5308234…
本人小白一枚,今天在使用selenium+webdriver的时候遇到了一个小问题: WebDriverException: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home 在debug过程中,也去baidu上查询了,很多说法,但是有些是行不通的,为了方便,这里简单记录下自己的解决方法. 安装Python(很多py…
Here is some Python code showing WebDriver with a virtual display provided by Xvfb: #!/usr/bin/env python from pyvirtualdisplay import Display from selenium import webdriver display = Display(visible=0, size=(800, 600)) display.start() # now Firefox…
有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操作这个下拉框,就会提示: from selenium import webdriver from selenium.webdriver.support.select import Select import os,time driver = webdriver.Chrome() file_path = 'file…
在web 应用中经常会遇到frame 嵌套页面的应用,页WebDriver 每次只能在一个页面上识别元素,对于frame 嵌套内的页面上的元素,直接定位是定位是定位不到的.这个时候就需要通过switch_to_frame()方法将当前定位的主体切换了frame 里. 在上面的html 代码中通过iframe 表单嵌入一个百度页面,通过浏览器打开如下图 图4.9 iframe 嵌入百度首页这个时候直接定位百度的输入框一定会报找不到元素的错误.那么可以使用switchTo().frame()先找到f…
有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操作这个下拉框,就会提示: from selenium import webdriver from selenium.webdriver.support.select import Select import os,time driver = webdriver.Chrome() file_path = 'file…
描述 本文主要是针对Chrome 62 , firefox57 ,和IE11 三个版本的操作.相关的driver .可点击以下链接.所有的driver 建议放在浏览器的目录下,本文中所有的driver都放置在对应的浏览器根目录下. https://files.cnblogs.com/files/linxinmeng/IE11_win10_3.5.zip https://files.cnblogs.com/files/linxinmeng/Firefox57_win10_java1.8.zip h…
有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操作这个下拉框,就会提示: from selenium import webdriver from selenium.webdriver.support.select import Select import os,time driver = webdriver.Chrome() file_path = 'file…
一般的日期控件都是input标签下弹出来的,如果使用webdriver 去设置日期, 1. 定位到该input 2. 使用sendKeys 方法 比如: 但是,有的日期控件是readonly的 比如12306的这个 <input id="train_date" class="inp-txt" type="text" value="2015-03-15" name="back_train_date" a…
Step1: 下载chromedriver. 下载路径: http://chromedriver.storage.googleapis.com/index.html 选择一个合适的下载即可.我下载的是2.20版本的chromedriver_win32.zip ,解压之后得到chromedriver.exe . Step2: 放置chromedriver.exe 在跟项目包平行的地方新建一个包,比如”lib",然后将 chromedriver.exe拷贝到lib下. Step3: 添加 webdr…
V1.0版本:直接新建WebDriver使用 import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; public class IETest { public static void main(String[] args) { WebDriver wd = new InternetExplorerDriver(); wd.get("http://www.baidu.co…
1.python中的传值和传引用 和其他语言不一样,传递参数的时候,python不允许程序员选择采用传值还是传引用.Python参数传递采用的肯定是“传对象引用”的方式.实际上,这种方式相当于传值和传引用的一种综合.如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象.如果函数收到的是一个不可变对象(比如数字.字符或者元组)的引用,就不能直接修改原始对象--相当于通过“传值'来传递对象.python一般内部赋值变量的话,都是传个引用变量,…
以 jQuery UI 官方网站元素测试,地址:http://jqueryui.com/draggable/ 示例: package com.learningselenium.html5; import java.util.NoSuchElementException; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import org.…
页面上弹出的对话框是自动化测试经常会遇到的一个问题:很多情况下对话框是一个iframe,如上一节中介绍的例子,处理起来稍微有点麻烦:但现在很多前端框架的对话框是div 形式的,这就让我们的处理变得十分简单. 上图为百度首页的登录对话框,下面通过脚本对百度进行登录操作: #coding=utf-8from selenium import webdriverdriver = webdriver.Firefox()driver.get("http://www.baidu.com/")#点击登…
测试播放,停止播放 http://www.videojs.com/ 示例: package com.learningselenium.html5; import static org.junit.Assert.*; import org.junit.*; import org.openqa.selenium.*; import org.openqa.selenium.firefox.FirefoxDriver; public class testHTML5VideoPlayer{ WebDriv…
1)屏幕截图 接口函数是 TakesScreenshot 示例: import java.io.File; import org.apache.commons.io.FileUtils; public void testTakesScreenshot() throws Exception{ //TakesScreenshot接口提供了getScreenshotAs 方法截取屏幕,这里指定OutputType.FILE 作为参数将截屏以文件形式返还 File srcFile = ((TakesSc…
String URL="http://www.amap.com/"; WebDriver driver = new FirefoxDriver(profile); driver.get(URL); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); driver.manage().timeouts().pageLoadTimeout(3…
一般的日期控件都是input标签下弹出来的,如果使用webdriver 去设置日期, 1. 定位到该input 2. 使用sendKeys 方法 比如:使用定位: driver.findElement(By.xpath(".//input[@ng-change='onClickStartTime()']")).sendKeys("2016-07-04"); 但是,有的日期控件是readonly的 比如: <input class="form-cont…
@Test public void testRadio() { WebDriver driver = ExplorerBase.IESetting(); try { Thread.sleep(500); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } driver.manage().window().maximize(); driver.get(""…
@Test public void test() { WebDriver driver=ExplorerBase.IESetting(); driver.get("http://uniquepig.iteye.com/signup"); driver.manage().window().maximize(); //<option value="在读学生">在读学生</option> Select select = new Select(dri…
转载原地址:  https://www.ibm.com/developerworks/cn/web/1306_chenlei_webdriver/ 对于 Web 应用,软件测试人员在日常的测试工作中,需要大量的手动操作来验证某些功能.开发人员在开发过程中,需要访问其应用并且验证其功能是否正常运行,反复调试重复验证.系统维护人员也需要经常访问其应用,以确保系统的正常运行.如上所述的这些操作需要花费大量的时间和人力,如能引入自动化测试代替人工重复操作,将极大地提高团队的生产效率.在本文中,我们将介绍…
这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档:http://docs.python.org/.在此向文档编辑者致谢.请勿将本文用于商业用途. 一.Python语言介绍 首先,Python是一种广泛应用的通用高级编程语言,具有较高的抽象层次,支持面向对象的编程方法.其具有高级的数据结构和许多方便的库文件,可以完成文件IO.系统调用.网络编程,甚至…
Python3 Selenium WebDriver网页的前进.后退.刷新.最大化.获取窗口位置.设置窗口大小.获取页面title.获取网页源码.获取Url等基本操作 通过selenium webdriver操作网页前进.后退.刷新.最大化.获取窗口位置.设置窗口大小.获取页面title.获取网页源码.获取Url等基本操作: from selenium import webdriver #打开浏览器 driver = webdriver.Ie(executable_path = "e:\\IED…
Selenium provides the following methods to locate elements in a page: find_element_by_id find_element_by_name find_element_by_xpath find_element_by_link_text find_element_by_partial_link_text find_element_by_tag_name find_element_by_class_name find_e…
Explicit Waits # Python from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait # available since 2.4.0 from selenium.webdriver.support import expected_conditions as EC # avai…
文章来源:嗨学网 敏而好学论坛www.piaodoo.com 欢迎大家相互学习 本文实例讲述了python 发送json数据操作.分享给大家供大家参考,具体如下: # !/usr/bin/env python # -*- coding: utf-8 -*- import urllib2 import urllib import cookielib import json import httplib import re import requests from lxml import etree…
selenium的用法 selenium2.0主要包含selenium IDE 和selenium webDriver,IDE有点类似QTP和LoadRunner的录制功能,就是firefox浏览器的一个插件,用来录制在浏览器的一系列操作,录制完成后可以回放,可以转换为代码输出出来.本节主要讲的是selenium的webdriver功能.结合Python语言来讲解具体用法. WebDriver 的实现原理: WebDriver直接利用了浏览器的内部接口来操作浏览器. 对于不同平台中的不同浏览器,…
UI自动化中经常会遇到元素识别不到,找不到的问题,原因有很多,比如不在iframe里,xpath或id写错了等等:但有一种是在当前显示的页面元素不可见,拖动下拉条后元素就出来了. 比如下面这样一个网页,需要进行拖动下拉条后才能通过selenium找到密码输入框的元素, 在python中有几种方法解决这种问题,简单介绍下,给需要的人: 方法一)使用js脚本直接操作,方法如下: js="var q=document.getElementById('id').scrollTop=10000"…
常用操作 click 点击某个元素 driver.find_element_by_id(“su”).click()   clear driver.find_element_by_id(“kw”).clear()   send_keys 模拟键盘输入 driver.find_element_by_id(“kw”).send_keys(“hello”) from selenium.webdriver.common.keys import Keys driver.find_element_by_id(…
js2 = "window.scrollTo(0,0);" #括号中为坐标 当不知道需要的滚动的坐标大小时: weizhi2 = driver.find_element_by_id("goldLeaseApp_bClientID") #先定位到一个元素 driver.execute_script("arguments[0].scrollIntoView();", weizhi2) #让其滚动到这个坐标 arguments[0].scrollInt…