Selenium webdriver Java 元素操作】的更多相关文章

本来这些东西网上一搜一大堆,但是本着收集的精神,整理一份放着吧!哈!哈!哈! 1. 输入框(text field or textarea) WebElement element = driver.findElement(By.id("passwd-id")); element.sendKeys(“test”); element.clear(); element.getText(); 2. 下拉选择框(Select) Select select = new Select(driver.f…
策略 语法 语法 描述 By id driver.findElement(By.id()) driver.findElements(By.id()) 通过id属性定位元素 By name driver.findElement(By.name()) driver.findElements(By.name()) 通过name属性定位元素 By class name driver.findElement(By.className()) driver.findElements(By.className(…
常用操作 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(…
未经作者允许,禁止转载!!! java selenium webdriver处理JS操作窗口滚动条 java selenium webdriver处理JS操作窗口滚动条 import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class JS20161212 { public…
Selenium Webdriver 学习: http://jarvi.iteye.com/category/203994 https://github.com/easonhan007/webdriver_guide Selenium WebDriver经验杂记:http://blog.csdn.net/ant_yan/article/details/8185899http://blog.csdn.net/aerchi/article/category/936247 1. Selenium We…
1. 获取元素文本 WebElement类的getText()方法返回元素的innerText属性.所以元素里如果有子节点一样也会被返回出来.如下所示 public class GetText { @Test public void testGetText(){ //启动driver,打开被测页面 System.setProperty("webdriver.chrome.driver", "chromedriver.exe"); WebDriver driver =…
UI自动化测试的第一步就是进行元素定位,下面给大家介绍一下Selenium + WebDriver的八大元素定位方式.现在我们就以百度搜索框为例进行元素定位,如下图: 一.By.name() Java代码可以这样写: /** * @author 李小卫 E-mail:yyymlxw@163.com @date 创建时间2018年2月2日下午3:15:21 */ public class ElementLocateByname { public static void main(String[]…
Selenium WebDriver没有实现Selenium RC的isElementPresent()方法来检查页面上的元素是否存在. 在WebDriver中封装一个类似的方法,如下: public boolean isElementPresent(WebDriver driver, By by){ try{ driver.findElement(by); return ture; }catch(Exception e){ return false; } }…
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…
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…
Selenium WebDriver可以结合ExpectedCondition类来定义自己期望的条件 创建一个新的ExpectedCondition接口,必须实现apply方法 等待元素出现 public void testWithImplicitWait(){ System.setProperty("webdriver.chrome.driver", "chromedriver.exe"); WebDriver driver = new ChromeDriver(…
显示等待可以在执行下一次操作时,自定义等待条件 显示的等待只需要执行在需要同步的地方而不影响脚本的其他地方 Selenium WebDriver提供了WebDriverWait和ExpectedCondition类来执行显示等待 ExpectedCondition类提供了一系列预定义好的条件来等待.下面是一些常用的条件 预定义条件 方法名 元素可见可点击 elementToBeClickable(By locator) 元素可被选中 elementToBeSelected(WebElement…
Selenium WebDriver提供了隐式等待来同步测试.当使用了隐式等待执行测试的时候,如果WebDriver没有在DOM中找到元素,将继续等待,超出设定时间后,抛出找不到元素异常 即,当元素没有立即出现的时候,隐式等待将等待一段时间后,再查找DOM.默认时间是0. 一旦设置了隐式等待,它将存在在整个webdriver对象实例的生命周期中,隐式等待会让一个正常响应的应用的测试变慢,会在寻找每个元素时进行等待,这样增加了整个测试执行的时间. 应该避免或减少使用隐式等待 //等待60s dri…
启动浏览器 如何启动浏览器已在上篇文章中说明,这里还是以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…
开发环境 JDK 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html Eclipse: 下载地址:http://www.eclipse.org/downloads/ Selenium jar包 (这里用的是:selenium-java-2.45.0.zip ,selenium-server-standalone-2.45.0.jar) 下载地址:http://code.google.com/p/sele…
js2 = "window.scrollTo(0,0);" #括号中为坐标 当不知道需要的滚动的坐标大小时: weizhi2 = driver.find_element_by_id("goldLeaseApp_bClientID") #先定位到一个元素 driver.execute_script("arguments[0].scrollIntoView();", weizhi2) #让其滚动到这个坐标 arguments[0].scrollInt…
有时候我们需要进行截屏操作,特别是遇到一些比较重要的页面信息(出现错误)或者出现不同需要进行对比时, 我们就需要对正在处理的页面进行截屏! 未经作者允许,禁止转载! package test_wait20161205; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.openqa.selenium.OutputType; import org.o…
原文:http://www.cnblogs.com/tobecrazy/p/4570494.html 工作中使用到记录一下. 主要有: 上传 alter dialog prompt dialog confirm dialog select list radio box input box checkBox 测试页面如下:   selenium 最核心的技巧是WebElement的识别和定位 selenium总共有八种定位方法  By.id()  通过id定位 By.name()  通过name…
对于这一段还蛮有感慨的,只想说,代码还是需要自己去敲的. 1. 改变用户代理 import org.junit.AfterClass; import org.junit.BeforeClass; import org.junit.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.Firefo…
最早接触的selenium是 selenium IDE,当时是为了准备论文.为了用IDE还下载了Firefox浏览器.后来接触过两个项目都需要selenium,一个采用selenium webdirver+junit4 +java,另外一个是采用 robot+selenium2library .总体感觉就是开源.简单.使用范围广.是网页测试必备单品. 关于selenium的好的学习资料: 官方User Guide:  http://seleniumhq.org/docs/ 官方API:  htt…
下拉列表操作中分为两种:select.非select 1.非select的下拉框操作 非select下拉列表操作与网页元素操作一致,找到元素,定位元素,设置等待,点击元素等等 接下来操作百度的设置按钮,设置属于一个下拉框 举个栗子: from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from selenium.webdriver.support import expec…
一.窗口切换 使用方法: 1.获取到打开的所有的窗口,句柄handles all_handles = driver.window_handles print(all_handles) 2.获取当前的窗口 driver.current_window_handle print(driver.current_window_handle) 3.利用切换的语句,切换到想要操作的窗口(HTML页面) # 获取到的所有窗口为一个列表,用索引取值 driver.switch_to.window(all_hand…
等待时做什么,为什么使用等待 在做自动化测试,设计测试用例的时候,有时下一步的操作会依赖上一步的结果或者内容,上一步操作成功之后才能进行下一步操作等,这时候,我们就需要使用等待,来判断上一步操作是否完成,什么时候可以进行下一步操作. 1.强制等待 sleep(),单位是秒使用方法:sleep(X),等待X秒后,进行下一步操作.无论条件成立与否,都要等待到时间截至,才能进行下一步操作缺点:不能准确把握需要等待的时间(有时操作还未完成,等待就结束了,导致报错:有时操作已经完成了,但等待时间还没有到,…
总结   定位查找时,返回查找到的第一个match的元素.如果找不到,则 raise NoSuchElementException   单个元素定位: find_element_by_idfind_element_by_namefind_element_by_xpathfind_element_by_link_textfind_element_by_partial_link_textfind_element_by_tag_namefind_element_by_class_namefind_el…
如今大多数Web应用程序使用ajax技术,当浏览器在加载页面时,页面上的元素可能并不是同时被加载完成,这给定位元素的定位增加了困难, 如果因为在加载某个元素时延迟而造成ElementNotVisibleException(不可见元素异常)的情况出现,那么就会降低自动化脚本的稳定性,设置元素等待可改善这种问题造成的不稳定. WebDriver提供了两种类型的等待: 显示等待: 具体格式如下: from selenium import webdriver from selenium.webdrive…
下面这段实例实现了以下功能: 1. profile使用用户本地电脑上的 (selenium 3有问题.因为selenium 3把profile复制到一个temp文件夹里,但并不复制回去.所以每次打开仍是一个空的浏览器.问题待解决) 2. 取出多个跳出框的title和内容 3. 验证打开页面的title是否正确 4. 获取页面弹出框中的验证码 package com.qiujy.testweb_mvn; import java.io.File; import java.io.IOException…
隐式等待:implicitly_wait(value), value默认是0 from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementException from time import ctime driver = webdriver.Chrome() # 设置隐式等待为10s driver.implicitly_wait(10) driver.get("https://www.baid…
问题: Cannot find firefox binary in PATH. Make sure firefox is installed. 原因:selenium找不到Firefox浏览器. 方法一:重新安装Firefox在默认路径下. 方法二:直接用System.setProperty方法设置webdriver.firefox.bin的值 import org.junit.After;import org.junit.Before;import org.junit.Test;import…
搜罗了一些查找元素的除标准语句外,另外的语句使用方法,摘自 开源中国 郝云鹏driver = webdriver.Chrome(); 打开测试页面 driver.get( "http://baidu.com" ); ---------------页面元素定位(页面元素)-------------- 通过ID进行定位 <div id="coolestWidgetEvah">...</div> #页面代码 ---> element = dr…
Selenium WebDriver测试弹出窗口,包括识别弹出窗口,将driver转到新的窗口,在新的串钩中执行而是步骤,然后再转换到最初的窗口. 通过名称(name)识别和处理: Selenium WebDriver允许我们通过name属性或窗口的句柄来识别窗口,然后通过WebDriver.switchTo().window()方法在不同的窗口之间进行切换. window name属性的定义 name 属性可设置或得到窗口的名称,其值为字符串.语法如下: window.name = [name…