Selenium Web 自动化 - Selenium常用API 2016-08-01 目录 1 对浏览器操作  1.1 用webdriver打开一个浏览器  1.2 最大化浏览器&关闭浏览器  1.3 设置浏览器窗口大小  1.4 打开测试页面  1.5 处理浏览器弹出的新窗口2 页面元素定位3 如何对页面元素进行操作  3.1 WebElement相关方法  3.2 iFrame的处理  3.3 输入框(text field or textarea)  3.4 下拉选择框(Select) …
Alert弹框是一个很烦人的控件,因为当前页面如果弹出了该弹框,你必须要处理它,不然你就不能操作页面的其它元素,下面我列出了alert弹框在多种场景下的处理办法. 明确知道系统哪个地方会弹alert 常规处理,该方法只是对弹出的alert弹框进行了捕获和处理 @Test(enabled = false) public void ff1() { System.setProperty(key, value); driver = new ChromeDriver(); driver.get("file…
使用python自带的tkinter库进行GUI编程,完成两个功能: (1)要求用户输入姓名和年龄然后打印出来 (2)要求用户输入一个数字,然后计算1到该数字之间的和 代码部分: # 导入tkinter的所有的包里面所有的内容 from tkinter import * import tkinter.messagebox as messagebox # 从Frame派生一个Application类,这是所有Widget的父容器 class Application(Frame): def __in…
问题: 系统默认的alert弹框的title会默认显示网页域名 解决办法: (修改弹框样式) (function() { window.alert = function(name) { $(".tip").css("display", "block") $(".tip .content").html(name) } })() 调用:alert(name) 在页面中添加弹框元素,自定义其样式,默认隐藏 注:alert()方法重写…
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAh0AAAFkCAYAAACEpYlzAAAfj0lEQVR4nO3dC5BddZ0n8F93pxOQCO…
@Testpublic void testHandleAlert(){ WebElement button =driver.findElement(By.xpath("input")); button.click(); try { //使用driver.switchTo().alert()方法获取Alert对象 Alert alert = driver.switchTo().alert(); Assert.assertEquals("这是一个Alert弹框", al…
在工作中,我们常常会遇到原生的样式感觉比较丑,又和我们做的项目风格不搭.于是就有了仿写原生一些组件的念头,今天我就带大家仿写一下confirm和alert样式都可以自己修改. 有些的不好的地方请指出来,让我们共同成长,如果有不懂的也可以私聊我,我会为你详细解说. 本文有以下三个段落 1.功能代码块展示,弹框功能尺寸适用手机在电脑上看会比较大. //弹出对话框:传了cancel是confirm,不传就是alert弹框 function Confirm(obj) { let _obj = obj |…
问题: 系统默认的alert弹框的title会默认显示网页域名 解决办法: (修改弹框样式) (function() { window.alert = function(name) { $(".tip").css("display", "block") $(".tip .content").html(name) } })() 调用:alert(name) 在页面中添加弹框元素,自定义其样式,默认隐藏 注:alert()方法重写…
10.查看浏览器打开了多少个table和当前页面在哪个table 测试:打开了浏览器后,打开了一个新的标签页之后,显示此时有2个table,浏览器中当前页面展示的是第2个页面,但是代码打印显示的仍然是第一个页面,因为浏览器认为打开的是同一个页面 11.页面切换switch_to.window,在10基础上进行,切换到新页面: 如果切换到了新页面之后,又要切换回来,操作如下:关闭当前页面--切换到第一个页面(这个一定要加,不加会报错说第一个页面也被关了)--给第一个页面写写东西,看看是否切换回来了…
在页面操作过程中有时候点击某个链接会弹出新的窗口, 这时就需要主机切换到新打开的窗口上进行操作.WebDriver提供了switchTo().window()方法可以实现在不同的窗口之间切换. 以百度首页和百度注册页为例,在两个窗口之间的切换如下图. 实现窗口切换的代码如下: import java.util.Set; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.se…
在 Web 应用中经常会遇到 frame/iframe 表单嵌套页面的应用, WebDriver 只能在一个页面上对元素识别与 定位, 对于 frame/iframe 表单内嵌页面上的元素无法直接定位. 这时就需要通过 switchTo().frame()方法将当前定 位的主体切换为 frame/iframe 表单的内嵌页面中. <html> <body> ... <iframe id="x-URS-iframe" ...> <html>…
 WebElement相关方法 1.点击操作 WebElement button = driver.findElement(By.id("login")); button.click(); 由元素对象调用click()方法: 2.清除操作 WebElement username = driver.findElement(By.id("username_input")); username.clear(); 调用之后,会把输入框的内容全部清空: 3.获得元素属性的值…
转至元数据结尾   由 黄从建创建, 最后修改于一月 21, 2019 转至元数据起始   一.selenium元素定位 1.selenium定位方法 2.定位方法的用法 二.控制浏览器操作 1.控制浏览器窗口大小 2.控制浏览器后退.前进 3.刷新页面 三.WebDriver常用方法 1.WebDriver 常用方法 2.其它常用方法 四.模拟鼠标操作 1.关于鼠标操作的其它方法 五.模拟键盘操作 六.获取断言信息 七.设置元素等待 1.显示等待 2.隐式等待 八.定位一组元素 九.多表单切换…
参考:http://www.testclass.net/selenium_java/ 一共分为二十个部分:环境安装之Java.环境安装之IntelliJ IDEA.环境安装之selenium.selenium3浏览器驱动.selenium元素定位.控制浏览器操作.WebDriver常用方法.模拟鼠标操作.模拟键盘操作.获取断言信息.设置元素等待.定位一组元素.多表单切换.多窗口切换.下拉框选择.警告框处理.文件上传.浏览器cookie操作.调用JavaScript代码.获取窗口截屏: (一)环境…
html演示: frame.html: <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <title>frame</title> <script type="text/javascript" async=""src="http://aj…
(WebElement.iFrame.select.alert.浏览器窗口.事件.js)     一 WebElement相关方法 1.点击操作 WebElement button = driver.findElement(By.id("login")); button.click(); 由元素对象调用click()方法: 2.清除操作 WebElement username = driver.findElement(By.id("username_input"))…
WebElement相关方法 1.点击操作 WebElement button = driver.findElement(By.id("login")); button.click(); 由元素对象调用click()方法: 2.清除操作 WebElement username = driver.findElement(By.id("username_input")); username.clear(); 调用之后,会把输入框的内容全部清空: 3.获得元素属性的值 &…
上面三种弹窗可以在浏览器的控制台做出效果,如下图 上面三种弹窗可以用alert方法处理 示例: #出现弹窗的操作xxxx# 切换al = driver.switch_to.alert# print(al.text) # 如果要获取文本# 关闭弹出框al.accept() # 接受弹框# al.dismiss() # 取消弹窗 以上方法无法关闭的浏览器弹窗时,请参考下面链接的解决方案 http://testingpai.com/article/1596527701066…
//(仅去掉网址) (function(){ window.alert = function(name){ var iframe = document.createElement("IFRAME"); iframe.style.display="none"; iframe.setAttribute("src", 'data:text/plain'); document.documentElement.appendChild(iframe); wi…
采用原生的JavaScript, html代码 <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"> <style> .div{ border:4px dashed #ccc;margin:130px auto; text-align:center; font-size:25px; width:100px; height:1…
元素识别方法.一组元素定位.鼠标操作.多窗口处理.下拉框.文本域及富文本框.弹窗.JS.frame.文件上传和下载 元素识别方法: driver.find_element_by_id() driver.find_element_by_name() driver.find_element_by_class_name() driver.find_element_by_tag_name() driver.find_element_by_link_text() driver.find_element_b…
(六)控制浏览器操作 1.控制浏览器窗口大小 有时候我们希望能以某种浏览器尺寸找开,访问的页面在这种尺寸下运行.例如可以将浏览器设置成移动端大小(480* 800),然后访问移动站点,对其样式进行评估:WebDriver 提供了 manage().window().setSize()方法来设置浏览器的大小. maximize() 设置浏览器最大化 setSize() 设置浏览器宽高 import org.openqa.selenium.Dimension; import org.openqa.s…
虽然WebDriver提供了操作浏览器的前进和后退方法,但对于浏览器滚动条并没有提供相应的操作方法.在这种情况下,就可以借助JavaScript来控制浏览器的滚动条.WebDriver提供了executeScript()方法来执行JavaScript代码. 用于调整浏览器滚动条位置的JavaScript代码如下: <!-- window.scrollTo(左边距,上边距); --> window.scrollTo(0,450); window.scrollTo()方法用于设置浏览器窗口滚动条的…
在 WebDriver中处理JavaScript所生成的alert.confirm以及prompt十分简单,具体做法是使用switch_to_alert()方法定位到alert/confirm/prompt,然后使用text/accept/dismiss/sendKeys等方法进行操作. getText(): 返回 alert/confirm/prompt 中的文字信息. accept(): 接受现有警告框. dismiss(): 解散现有警告框. sendKeys(keysToSend): 发…
Keys()类提供了键盘上几乎所有按键的方法. 前面了解到, sendKeys()方法可以用来模拟键盘输入, 除此之 外, 我们还可以用它来输入键盘上的按键, 甚至是组合键, 如 Ctrl+A. Ctrl+C 等. import org.openqa.selenium.WebElement; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa…
前面我们已经学习了定位元素, 定位只是第一步, 定位之后需要对这个元素进行操作, 或单击(按钮) 或 输入(输入框) , 下面就来认识这些最常用的方法. 1.WebDriver 常用方法 下面先来认识 WebDriver 中最常用的几个方法: clear() 清除文本. sendKeys(*value) 模拟按键输入. click() 单击元素 import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import…
1.selenium定位方法 Selenium提供了8种定位方式. id name class name tag name link text partial link text xpath css selector 这8种定位方式在Java selenium中所对应的方法为: findElement(By.id()) findElement(By.name()) findElement(By.className()) findElement(By.tagName()) findElement(…
selenium处理HTML5 处理Vedio WebDriver driver = new FirefoxDriver(); driver.get("http://videojs.com/"); pause(2000); //找到vedio元素 WebElement vedio = driver.findElement(By.id("preview-player_html5_api")); //声明js执行器 JavascriptExecutor js = (Ja…
上传文件   元素标签是input时上传方式 上传是一个input,对于这种元素是input 的标签可以采用元素的sendKeys()方法来直接赋值,upload.html代码: <html> <head></head> <body> <input type="file" id="fileControl" value="选择文件"> </body> <style typ…
1.访问网页地址 driver.get( url ); driver.navigate( ).to( url ); 2.访问网页前进.后退 driver.navigate( ).forward( ); driver.navigate( ).back( ); 3.刷新网页 driver.navigate( ).refresh( ); 4.操作浏览器窗口 //设定浏览器在屏幕上的位置的坐标为(150,150) driver.manage( ).window( ).setPosition( new P…