定位

selenium+java 元素定位

血红的双手。 提交于 2019-12-03 14:12:44
一、单个元素定位: 以百度查询为例,如图: 1.id定位,findElement(By. id (" ")) driver.findElement(By.id("kw")).sendKeys("新闻"); 2.name定位,findElement(By. name (" ")) driver.findElement(By.name("wd")).sendKeys("新闻"); 3. className定位,findElement(By.className(" ")) driver.findElement(By.className("s_ipt")).sendKeys("新闻"); 4. xpath定位,findElement(By.xpath(" ")) driver.findElement(By.xpath("//*[@id='kw']")).sendKeys("新闻"); 5. cssSelector定位,findElement(By.cssSelector(" ")) driver.findElement(By.cssSelector("#kw")).sendKeys("新闻"); 6. tagName定位,findElement(By.tagName("input")) driver.findElement(By.tagName("input")).sendKeys("新闻

前端开发中的地理定位问题小总结

天大地大妈咪最大 提交于 2019-12-03 11:10:46
项目中遇到地理定位的问题,没遇过不知道,遇过就发现这是个比较坑的问题。这个问题其实困扰了我挺久的,还不如一次性了解清楚。所以本文进行了一些小总结,先简单总结我看过的关于定位技术的资料,然后介绍前端开发中的可选定位方案,以及存在的一些问题。 定位技术 概念上很好理解,就是定位你在哪里的技术。常见的定位方式有基站定位,WiFi定位,IP定位,GPS定位等。 基站定位 基站是能进行信号交换的站点。手机能接受信号,打电话就是通过手机基站。这些基站是由国家移动通信运营商建的,比如中国移动,中国联通,中国电信。原理如下,通过手机接受不同几个基站的信号强度来判断二者之间距离,当然基站的位置信息本来是已知的,所以手机的位置就知道了。前提是手机必须处于SIM卡注册状态下。由于手机信号会受干扰,基站定位精度较低。而且精度也受基站的密度影响,密度越大越精准。 WiFi定位 WiFi是无线上网的一种技术。平时手机不连上WiFi的功能就能定位。大致的原理是,WiFi信号被设备检测到,数据库记录这个WiFi信号和设备对应的位置。当它被越来越多的设备检测到,它的位置就可以利用这些数据通过某种算法来得出。由于信号随着距离的增加而减少,根据设备获取到的WiFi信号强度就可以计算出两者之间的距离。知道了周围几个点,以及与这些点之间的距离,待定位的设备位置就不难计算出来了。WiFi定位是由谷歌提出的

selenium的定位方法-单元素定位

吃可爱长大的小学妹 提交于 2019-12-03 10:47:36
  selenium自动化测试中,提供了单个元素定位方法,多个元素定位方法,2种方式都是根据元素属性:ID、NAME、CLASS_NAME、TAG_NAME、CSS_SELECTOR、XPATH、LINK_TEXT、PARTIAL_LINK_TXEXT来进行定位,本文以实例作为说明   以chrom打开百度首页为例子,右键选择-检查,打开开发者工具,点击 选中搜索栏,可以定位到以下代码,以该搜索栏定位来分析单元素定位方法。   1.find_element_by_id:    通过元素属性ID来定位到元素,方法是find_element_by_id,以上述输入框为例,它的ID属性是kw,代码如下:    browser.find_element_by_id("kw").send_keys("selenium")   2.find_element_by_name:  通过元素属性NAME来定位到元素,方法是find_element_by_NAME,以上述输入框为例,它的NAME属性是wd,代码如下:  browser.find_element_by_name("wd").send_keys("selenium") 3.find_element_by_class_name:  通过元素属性class_name来定位到元素,方法find_element_by_class_name

selenium元素定位方法之轴定位

五迷三道 提交于 2019-12-03 06:57:50
一、轴运算名称 ancestor:祖先结点(包括父结点) parent:父结点 preceding:当前元素节点标签之前的所有结点(html页面先后顺序) preceding-sibling:当前元素结点标签之前的所有兄弟结点(同级) following:当前元素结点标签之后的所有节点(html页面先后顺序) follow-sibling:当前元素结点标签之后的所有兄弟结点(同级) 二、使用语法 轴名称::结点名称 举例说明:   如下图,如何通过①来定位到②呢?     分析: 元素①和元素②的关系:它们的父辈为兄弟关系 元素②位于元素①之后,选取轴运算名称为follow-sibling 元素①要先往父结点定位,选取轴运算名称为parent 得出定位表达式为: //div[text()=' 服务端']/parent::div/following-sibling::div//div[text()=' 数据库'] 来源: https://www.cnblogs.com/xiaogongjin/p/11781460.html

高德地图使用――定位功能

匿名 (未验证) 提交于 2019-12-03 00:32:02
在上一次中我们说到了如何申请key值,和在Application中如何配置,以及将地图显示出来。如果没看过的朋友们可以看一下笔者上一篇文章: 最新高德地图使用(SDK6.3.0版本)――申请key、显示地图 。在这一篇中,我们将了解如何实现高德地图定位功能。 相比于上一篇来说,我感觉这一篇的内容应该不会那么多,因为实现定位的功能实在是太简单了,只是涉及到几个类而已。在看代码之前,我们先看一下实现定位需要涉及到的几个类吧: AMapLocationClient类 这个类是定位服务类,我们通过这个类实现定位。AMapLocationClient类主要涉及到的工作有: 启动、停止定位 设置、移除监听器 设置定位参数(AMapLocationClientOption类,之后会详细介绍这个类) 1.构造方法 public AMapLocationClient(Context var1) AMapLocationClient类的构造方法传入一个上下文参数,我们最好通过getApplicationContext方法获取全局Context,或者自定义Application中添加全局Context来获取。 2.常用方法 限定符 返回值 方法名 解释 public void setLocationOption ( AMapLocationClientOption option ) 设置定位参数

TDOA基站 之 时间同步

匿名 (未验证) 提交于 2019-12-03 00:14:01
TDOA 和 TWR相比,标签可以用最少的信息来定位,但是对于基站要求很高,需要“时间同步”。 TDOA实现目的相同,但是实现方法每家各不相同,这里介绍一种简单的时间同步原理。 定位系统中有标签Tag,基站ANA 和ANB,为了时间同步,引入同步节点RN, 所有时间都会同步到同步节点上 下图为例说明同步方法,纵轴是时间。为了简化,认为RN与ANA 和ANB距离相等。 时间同步主要流程: 同步节点RN周期性以广播的方法发送同步信号,上图中是R1 R2, 使用delayed tx发送 ,发送信息标记了发送时间 基站接收同步信号并记录接收时间 标签周期性发送定位信号,基站接收定位信号,记录接收时间。 分析如上各个时间戳: 同步节点发送两次同步信号,在基站ANA接收到以后,获得两个发送时间差 R2-R1,以及两个对应的接收时间差A2-A1. 这两个都是时钟数量,对应的绝对时间相同,而时钟数量不同 ,这个不同是因为每个模块时钟差异造成的。 基站ANA会收到标签发送来的定位信号,时间再AT,相对于A1的时间差是AT-A1 基站收到的定位数据时间戳是在基站ANA上,那么可以 映射到同步节点间RN上 ,利用比例关系 t/(AT-A1) = ( R2-R1)/(A2-A1) --》 t ANA = (AT-A1)*( R2-R1)/(A2-A1) t ANA 就是把AT映射到RN后的时间 同理

class空格多类名

匿名 (未验证) 提交于 2019-12-02 23:05:13
1.class属性唯一但是有空格,选择空格两边唯一的哪一个 <div id="tempConfigTable" class="dtb-style-1 table-dragColumns" style="height: 371px; position: relative;"> <th id="" tid="grid-row-2" class="tabth field_security_dispay txt-left "> 2.class属性科普 3.class的定位 4.判断元素唯一性 5.class属性不唯一怎么办 如: self.driver.find_elements_by_class_name('table-dragColumn')[0].click() 6.css定位 如: self.driver.find_element_by_css_selector('.dtb-style-1.table-dragColumns').click()#前面加(.)空格地方用点(.)来代替 1 self.driver.find_element_by_css_selector( '.table-dragColumns' ).click()#用单个属性来定位前面加个(.)  self.driver.find_element_by_css_selector('class="dtb-style-1

Python+Appium-4-元素定位工具UI Automator Viewer

匿名 (未验证) 提交于 2019-12-02 22:11:45
前言 App-UI跟Web-UI自动化操作一样,无非就是定位到元素后去操作元素,本篇介绍一下sdk自带的定位元素工具uiautomatorviewer UI Automator Viewer定位 打开uiautomatorviewer 启动uiautomatorviewer 打开测试app后点击上方第二个按钮device screenshot 使用uiautomatorviewer定位某一元素如:无锡 脚本编写 脚本实现点击“无锡”这个超链接元素 查看上方的关注、推荐、热榜等resource_id都一样,这里我们可以用find_elements_by_id获取一组元素后按索引index(无锡的为3)来定位到无锡的这个元素 from appium import webdriver import time # 配置信息 desired_caps = { "platformName":"Android", "deviceName":"127.0.0.1:62001", "platformVersion":"6.0", "appPackage":"com.baidu.searchbox", "appActivity":"com.baidu.searchbox.SplashActivity", } # 创建驱动 driver = webdriver.Remote("127.0.0.1

Appium中app的元素定位

白昼怎懂夜的黑 提交于 2019-12-02 19:50:38
app定位方式,本文只讲Android手机的定位方式。 前提条件是adb连接到模拟器或者是手机(具体连接方式这里不再讲解),证明已连接到设备 adb devices app元素定位工具一:UI Automator Viewer 这个工具是Android SDK自带的一个定位工具,具体页面截图如下: app元素定位工具二:Appium工具 启动Appium,启动之后,页面有一个放大镜的按钮,如图所示: 点击放大镜按钮,进入配置项,如果所示: platformName --  系统名称 platformVersion -- 系统的版本 deviceName --  机型(随意添) appPackage --  app包名(这里以淘宝为例) appActivity --  欢迎页面 noReset --  启动app时不要清除app里的原有的数据(True) 获取appPackage和appActivity的方法,com命令进入Android-sdk/build-tools-29.0.2目录下,执行命令 aapt dump badging xxx.apk(安装包名称) app包名 appActivity名称: 设置好启动项参数后,启动会话。 接下来说元素定位表达式,appium中的定位表达式,继承了selenium中的八大定位表达式(selenium的八大定位前边已经说过,就不再赘述)

XP定位(APP元素定位)

泪湿孤枕 提交于 2019-12-02 11:57:51
Appium app自动化测试经验分享-Xpath定位总结 在我看来,自动化测试中元素定位的倚天剑和屠龙刀莫过于 Xpath和CSS,但CSS只用于Web(之前已经分享过),这次就分享下Xpath的定位方法。本期讲的是Xpath定位运用到App。 一)Xpath定位 XPath即为XML Path 的简称,它是一种用来确定XML文档中某部分位置的语言。 XML:一种标记语言,用于数据的存储和传递。 后缀.xml结尾 提示:Xpath为强大的语言,那是因为它有非常灵活定位策略; 二)Xpath定位实战 以下所有用例所用app是 夜神模拟器 ,实际操作:点击设置-点击更多。 1.根据 元素属性名和属性值 来定位 依据:元素属性名和值 格式:(假设都可以唯一定位某元素) //* [@resource-id=“XXXX”] //* [@text=“XXXX”] //*[@content-desc=“XXXX”] """xpath 根据元素属性名和属性值来定位""" self.xin_find_element(By.XPATH, '//*[@text="通讯录"]').click() # text属性值是通讯录 可以唯一定位 self.xin_find_element(By.XPATH, '//*[@resource-id="com.tencent.mm:id/ik"]').click()