原文: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…
web driver提供了八种元素定位的方法: id name class name tag name link text partial link text xpath css selector 如百度首页,百度一下按钮的元素信息 <input type="submit" id="su" value="百度一下" class="bg s_btn"> 百度首页新闻的页面的元素信息 <a href="…
static final WebDriver driver = ExplorerBase.IESetting(); // 实例化一个浏览器对象 @Test //@Ignore public void findBaiDuElements() { try { Thread.sleep(500); } catch (InterruptedException e1) { e1.printStackTrace(); } driver.manage().window().maximize();// 最大化…
三.WebDriver定位元素 推荐使用的webdriver是firefox,因为他的firebug更能可以帮助定位页面元素使用 # create a new Firefox session cls.driver = webdriver.Firefox() 1.通过id定位 可以通过find_element_by_id()方法来定位元素 #通过id定位 self.driver.find_element_by_id("hl").click() self.driver.find_eleme…
html显示与隐藏元素的几种方式 1.display none : 无 隐藏元素 block : 显示 转换为块级元素   不占位:当隐藏的时候元素就完全没有了.不能看见和操作该元素. 优点:为其他元素让出空间,如二级导航伸缩功能.或者另外一个元素要占据该位置时用起来比较方便. 简单使用:<div style="display: none;"></div> 2.visibility visible :显示 hidden :隐藏 占位:当隐藏时只是看不见,实际还是…
动态创建元素的三种方式: 第一种: Document.write(); <body> <input type="button" id="btn" value="生成元素" onclick="f1()"/> <input type="text" value=""/> <script> document.write("这是新添加的内容…
Struts2中访问web元素的四种方式如下: 通过ActionContext来访问Map类型的request.session.application对象. 通过实现RequestAware.SessionAware.ApplicationAware接口来访问Map类型的request.session.application对象(IoC方式). 通过ServletActionContext来访问Servlet API类型的HttpServletRequest. HttpSession. Serv…
之前的写的selenium的定位元素进行测试的代码,现在一运行就报找不到元素了,之前运行的好好的. 我查看网站源码后,发现网站元素确实是变了,原来的定位的xpath代码压根全部找不到了,于是 想着,以后selenium定位就改用配置文件的方法. 写清备注,如果原网站代码变了.我只需要修改配置文件即可,不用全脚本地去找,去修改了. 参考链接:https://mp.weixin.qq.com/s?__biz=MzU5NTgyMTE3Mg==&mid=2247483802&idx=1&s…
/* * 取出map元素的两种方式 */package com.map.test; import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set; public class Test1 { public static void main(String[] args) { // TODO 自动生成的方法存根 Map<Integer,String> mp=new HashMa…
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.common.exceptions.NoSuchElementException错误 Frame/Iframe原因定位不到元素: 这个是最常见的原因,首先要理解下frame的实质,frame中实际上是嵌入了另一个页面,而webdriver每次只能在一个页面识别,因此需要先定位到相应的frame,对那个页面里的元素进行定位. 解决方案: 如果iframe有name或id的话,直接使用switch_to_frame("name值"…
webdriver提供了丰富的API,有多种定位策略:id,name,css选择器,xpath等,其中css选择器定位元素效率相比xpath要高些,使用id,name属性定位元素是最可靠,效率最高的一种办法. 1.元素定位的方法:find_element() 与find_elements() find_element() 该方法返回基于指定查询条件的webElement对象,或抛出不符合条件的异常  eg:element = driver.find_element(By.ID,'u1') fin…
策略 语法 语法 描述 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(…
总结   定位查找时,返回查找到的第一个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页面上的元素也有这些属性,例如,id.name.class name.tag name等. 二.在找查某人的时候可以通过位置属性,例如,x国.x市.x路.x号.Xpath和CSS就提供了这种以标签名为层级关系的定位方式. 三.可以借助相关他人的属性来找到某人,例如,我没有小明的联系方式,但我有他爸爸的手机号,那么通过他爸爸手机号也可以找到小…
在UI层面的自动化测试开发中,元素的定位与操作是基础,也是经常遇到的困难所在.webdriver提供了8种定位: 1. id定位:find_element_by_id("id值"):id属性是唯一的 1 driver.find_element_by_id("loginName").clear()#用户名输入框的id属性 2 driver.find_element_by_id("loginName").send_keys("admin&q…
在UI层面的自动化测试开发中,元素的定位与操作是基础,也是经常遇到的困难所在.webdriver提供了8种定位: 1. id定位:find_element_by_id("id值"):id属性是唯一的 driver.find_element_by_id("loginName").clear()#用户名输入框的id属性 driver.find_element_by_id("loginName").send_keys("admin"…
如今大多数Web应用程序使用ajax技术,当浏览器在加载页面时,页面上的元素可能并不是同时被加载完成,这给定位元素的定位增加了困难, 如果因为在加载某个元素时延迟而造成ElementNotVisibleException(不可见元素异常)的情况出现,那么就会降低自动化脚本的稳定性,设置元素等待可改善这种问题造成的不稳定. WebDriver提供了两种类型的等待: 显示等待: 具体格式如下: from selenium import webdriver from selenium.webdrive…
隐式等待: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…
Selenium 定位之Xpath定位: 1.绝对路径定位:以/开头从根节点一直找到当前节点,不推荐使用决定路径定位方式 2.相对路径定位:使用"//"表示相对路径定位,格式://标签名[ @属性= "属性值"] 列如://area[@hidefocus="true"] 3.索引定位:即下标定位,格式:标签名[下标] 列如://div[2] 4.属性值定位:格式://标签名[ @属性= "属性值"] 列如://area[@id…
常用操作 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(…
定位元素方法 官网地址:http://selenium-python.readthedocs.org/locating-elements.html        这里有各种策略用于定位网页中的元素(locate elements),你可以选择最适合的方案,Selenium提供了一下方法来定义一个页面中的元素: find_element_by_id find_element_by_name find_element_by_xpath find_element_by_link_text find_e…
用JS或jquery访问页面内的iframe,兼容IE/FF 注意:框架内的页面是不能跨域的! 假设有两个页面,在相同域下. index.html 文件内含有一个iframe: XML/HTML代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htm…
1.元素定位 ID定位元素: findElement(By.id(“”)); 通过元素的名称定位元素: findElement(By.name(“”)); 通过元素的html中的位置定位元素: findElement(By.xpath(“”)); 通过元素的标签名称定位元素: findElement(By.tagName(“”)); 通过元素的链接名称定位元素: findElement(By.linkText(“”)); 通过元素的类名定位元素: findElement(By.className…
#include <iostream> #include <vector> using namespace std; int main() { const int arr_size = 5; int arr[arr_size] = {1,2,3,4,5}; // 第一种方式 vector<int> vec(arr, arr+arr_size); // 从array数组向vector向量复制元素 for (int i=0; i<vec.size(); i++) {…
一.position 属性规定元素的定位类型,它一般有以下四个值: 默认static 相对定位relative 绝对定位absolute 固定定位fixed 元素可以使用的顶部,底部,左侧和右侧属性定位.然而,这些属性无法工作,除非是先设定position属性,他们也有不同的工作方式,这取决于定位方法. 二.实例讲解 1.默认static HTML 元素的默认值,没有定位,遵循正常的文档流对象.静态定位的元素不会受到 top, bottom, left, right影响. 2.相对定位relat…
find_element_by_id()find_element_by_name()find_element_by_class_name()find_element_by_tag_name()find_element_by_link_text()find_element_by_partial_link_text()find_element_by_xpath()find_element_by_css_selector() from selenium.webdriver.common.by impo…
CSS 选择器: 常见符号: #表示 id选择器 .表示 class选择器 >表示子元素,层级 一个空格也表示子元素,但是是所有的后代子元素,相当于 xpath 中的相对路径 一.css:属性定位 1.css可以通过元素的id.class.标签这三个常规属性直接定位到 2.如下是百度输入框的的html代码: <input id="kw" class="s_ipt" type="text" autocomplete="off&…
以东方财富网登录页面为例: 在查找元素过程中,直接通过id或者xpath等找不到元素,查看页面源代码发现元素是属于iframe里,例如: <div class="wrap_login"> <iframe class="frame_login" src="https://exaccount.eastmoney.com/home/login?request=%7b%22agentPageUrl%22%3a%22https%3a%2f%2fpa…
1.动态id定位不到元素for example:        //WebElement xiexin_element = driver.findElement(By.id("_mail_component_82_82"));        WebElement xiexin_element = driver.findElement(By.xpath("//span[contains(.,'写 信')]"));        xiexin_element.click…