本篇学习总结webdriver模块操作浏览器.Cookie.鼠标键盘.警示框.设置等待时间.多窗口切换等方法的使用 1    浏览器控制 Selenium-webdriverAPI提供了对页面元素定位和操作方法外,还提供了对浏览器本身的操作,如浏览器前进.后退.刷新.关闭.浏览器窗口大小设置等 1.1    控制浏览器窗口大小 Selenium-webdriverAPI对浏览器窗口设置提供了set_window_size(width,height)方法,第一个参数为宽度,第二个参数为高度.如将浏…
关于selenium WebDriver 对浏览器标签页的切换,现在的市面上最新的浏览器,当点击一个链接打开一个新的页面都是在浏览器中打开一个标签页,而selenium只能对窗口进行切换的方法,只能操作,无法直观的看到页面.后来我想到selenium里的接口Actions可以模拟键盘操作,而点击键盘中的”Ctrl+Tab”组合键正好可以切换浏览器的标签页,只要将如下代码放在要操作的标签页前就可,如果有多个标签页,就多执行几次. 代码如下: import org.openqa.selenium.K…
有时候我们需要验证浏览器中是否存在某个cookie,因为基于真实的cookie 的测试是无法通过白盒和集成测试完成的.WebDriver 提供了操作Cookie 的相关方法可以读取.添加和删除cookie 信息.WebDriver 操作cookie 的方法有: getCookies() 获得所有cookie 信息 addCookie(cookie_dict) 添加cookie,必须有name 和value 值 deleteAllCookies() 删除所有cookie 信息 delete…
启动浏览器 如何启动浏览器已在上篇文章中说明,这里还是以chrome为例,firefox.IE启动方式相同. //启动浏览器 import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; /*启动IE需要的包 import org.openqa.selenium.ie.InternetExplorerDriver; 启动firefox需要的包 import org.openqa.sele…
描述 本文主要是针对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…
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…
本篇文章介绍selenium 操作浏览器 阅读目录 浏览器最大化 前进,后退, 刷新 public static void testBrowser(WebDriver driver) throws Exception { driver.get("http://www.cnblogs.com/tankxiao"); Thread.sleep(5000); // 浏览器最大化 driver.manage().window().maximize(); driver.navigate().to…
学python理念  :  代码要多敲 一定要多敲 哪怕很基础  注释要清晰 由于基础1有一些注释写的很详细, 在这里有些注释没有写的很详细 可以配合基础1一起学习哦 from selenium import webdriver from selenium.webdriver.common.keys import Keys import time,os from lxml import etree # base_url = 'http://www.baidu.com/' #创建浏览器对象 dri…
selenium是进行web自动化测试的一个工具,支持C,C++,Python,Java等语言,他能够实现模拟手工操作浏览器,进行自动化,通过webdriver驱动浏览器操作,我使用的是chrome浏览器,下载chrome  webdriver 放到python的安装目录. 参考连接: https://pypi.python.org/pypi/selenium http://selenium-python.readthedocs.io/api.html http://www.cnblogs.co…
描述:登录CSDN,将登录信息cookies保存到文件,再次打开网页时,直接利用文件中的数据登录. 1. 获取cookies并保存到文件 步骤: ① 打开CSDN的登录界面: ② 填写用户名和密码: ③ 新建文件txt: ④ 获取cookies,并将cookies保存到先前新建的文件中. 代码: @Before public void Setup(){ File chromeDriverPath = new File("D:\\Selenium\\webdriver\\chromedriver.…
在web 应用中经常会遇到frame 嵌套页面的应用,页WebDriver 每次只能在一个页面上识别元素,对于frame 嵌套内的页面上的元素,直接定位是定位是定位不到的.这个时候就需要通过switch_to_frame()方法将当前定位的主体切换了frame 里. 在上面的html 代码中通过iframe 表单嵌入一个百度页面,通过浏览器打开如下图 图4.9 iframe 嵌入百度首页这个时候直接定位百度的输入框一定会报找不到元素的错误.那么可以使用switchTo().frame()先找到f…
1.控制浏览器大小 set_window_size() 设置浏览器大小 该方法有两个参数,第一个参数是宽,第二个是高 maximize_window() 设置浏览器全屏显示,无参数 chrome谷歌浏览器在控制浏览器大小时,报错 : unknown error: cannot get automation extension 解决办法:将chrome的webdriver驱动更新到最新的 参考网上:http://blog.csdn.net/lj2tj/article/details/5308234…
有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操作这个下拉框,就会提示: from selenium import webdriver from selenium.webdriver.support.select import Select import os,time driver = webdriver.Chrome() file_path = 'file…
用键盘右下角的UP,DOWN按键来处理页面滚动条 这种方法很灵活用起来很方便!!!! from selenium import webdriver import time from selenium.webdriver.common.keys import Keys #访问百度 driver=webdriver.Chrome() driver.get("http://www.baidu.com") #搜索 driver.find_element_by_id("kw"…
有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操作这个下拉框,就会提示: from selenium import webdriver from selenium.webdriver.support.select import Select import os,time driver = webdriver.Chrome() file_path = 'file…
有时候我们会碰到一些元素不可见,这个时候selenium就无法对这些元素进行操作了.例如,下面的情况: 页面主要通过“display:none”来控制整个下拉框不可见.这个时候如果直接操作这个下拉框,就会提示: from selenium import webdriver from selenium.webdriver.support.select import Select import os,time driver = webdriver.Chrome() file_path = 'file…
一.首先下载selenium webDriver jar包,下载地址如下: http://selenium-release.storage.googleapis.com/index.html 二.下载ChromeDriver 与 Chrome浏览器,这两个要对应: Chromedriver下载地址:http://chromedriver.storage.googleapis.com/index.html 浏览器下载地址:https://www.slimjet.com/chrome/google-…
一般的日期控件都是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…
Selenium Webdriver 在使用firefox 测试会牵扯到firefox的安装路径的问题 1.默认安装路径在c盘的情况下: WebDriver driver = new FirefoxDriver(); 2.安装在别的地方的,需要设置下路径 例如: System.setProperty("webdriver.firefox.bin", "D:\Program Files (x86)\Mozilla Firefox\firefox.exe"); WebD…
以 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.…
这是一种比较好的反反爬技术 #安装:pip install selenium=2.48.0 #显示:pip show selenium #卸载:pip uninstall selenium #模拟用户行为 from selenium import webdriver import os import time from selenium import common #生成一个浏览器对象 driver = webdriver.PhantomJS() #访问 driver.get('http://w…
前面已经把环境搭建好了,下面我们就正式学习selenium的webdriver框架.本篇主要讲如何用Python调用webdriver框架的API,对浏览器做一些基本的操作,如打开.前进.后退.刷新.设置窗口大小.截屏.退出等操作. 1,打开浏览器 首先要从selenium中引入webdriver 然后调用浏览器:Chrome,IE,Firefox 访问百度,对浏览器进行相应的操作…
打开浏览器 HtmlUnit Driver 优点:不会实际打开浏览器,运行速度很快. 缺点:对JavaScript的支持不够好,有时会捕获不到页面元素. 使用:WebDriver driver=new HtmlUnitDriver(); Firefox 优点:Firefox Driver 对页面的自动化测试支持比较好,很直观的模拟页面操作,对JS的支持也非常完善,基本上页面上做的所有操作Firefox Driver都可以模拟. 缺点:启动很慢,运行也比较慢. 使用:WebDriver drive…
webDriver 在测试ie 的时候会遇到很多的问题,记录下: 1.需要ie的driver驱动 需要下载 IEDriverServer.exe 并把这个驱动放在系统ie 的文件夹下 C:\Program Files\Internet Explorer 2.启动selenium 的时候需要将浏览器安全设置给取消掉 3.启动的时候还是报错提示安全保护 Exception in thread "main" org.openqa.selenium.WebDriverException: Un…
1.浏览器大小的控制 Set_window_size()是控制浏览器大小 Maximize_window()浏览器全屏显示 from selenium import webdriver #导入selenium的webdriver包 from time import sleep driver = webdriver.Firefox() driver.get("https://www.baidu.com") sleep(10) #等待10秒钟 driver.set_window_size(…
Chrome 点击下载chrome的webdriver: http://chromedriver.storage.googleapis.com/index.html 不同的Chrome的版本对应的chromedriver.exe 版本也不一样,下载时不要搞错了.如果是最新的Chrome, 下载最新的chromedriver.exe 就可以了. 把chromedriver的路径也加到环境变量里. Firefox Firefox驱动下载地址为:https://github.com/mozilla/g…
页面上弹出的对话框是自动化测试经常会遇到的一个问题:很多情况下对话框是一个iframe,如上一节中介绍的例子,处理起来稍微有点麻烦:但现在很多前端框架的对话框是div 形式的,这就让我们的处理变得十分简单. 上图为百度首页的登录对话框,下面通过脚本对百度进行登录操作: #coding=utf-8from selenium import webdriverdriver = webdriver.Firefox()driver.get("http://www.baidu.com/")#点击登…
from selenium import webdriver url = "https://www.baidu.com" dr = webdriver.Ie() dr.get(url) print('all cookies : ',dr.get_cookies()) dr.quit() 报错信息: 说明是驱动问题, 驱动和浏览器不匹配,且提示不要用64位ie驱动ie10or11,即使是在64位的电脑上. 我安装的是64位的驱动.换成32位的ie驱动问题消除. IE驱动包下载地址: ht…
from selenium import webdriver import time def controlBrowser(): #启动浏览器 driver = webdriver.Firefox() #打开网站 driver.get('http://www.baidu.com') #设置浏览器大小 driver.set_window_size(800,600) #刷新页面 driver.find_element_by_id('kw').send_keys('python') driver.re…