51Testing软件测试论坛

标题: selenium 如何测试动态变化的xpath和ID [打印本页]

作者: xiaobao0309    时间: 2015-7-1 16:20
标题: selenium 如何测试动态变化的xpath和ID
本帖最后由 xiaobao0309 于 2015-7-2 15:03 编辑

firebug查到每次打开页面时,xpath和id都会动态变化。导致定位不了。[attach]95961[/attach]
第一次打开id:
[attach]95962[/attach]
第二次打开id:
[attach]95963[/attach]

我想定位的是红框的那个位置,往里边send_keys(u"天津"),不是定位那个请选择省份,选择省份用text就可以。
[attach]95976[/attach]
xpath和id是动态变化的。

作者: seagull1985    时间: 2015-7-2 09:33
可以通过名称啊
作者: 土土的豆豆    时间: 2015-7-2 09:58
qu取下面的属性值 别定位会变化的试试看  name / text
或者你用模糊定位方式 contain %s2id % 抓取唯一的固定字符
作者: jingzizx    时间: 2015-7-2 12:28
selenium定位元素的方式有很多种,比如cssSelector/classname/tagname等等,可以换一种方式定位元素未变的属性;
http://www.51testing.com/html/43/n-852143-2.html
作者: xiaobao0309    时间: 2015-7-2 14:54
seagull1985 发表于 2015-7-2 09:33
可以通过名称啊

哪个名称?
作者: xiaobao0309    时间: 2015-7-2 14:56
土土的豆豆 发表于 2015-7-2 09:58
qu取下面的属性值 别定位会变化的试试看  name / text
或者你用模糊定位方式 contain %s2id % 抓取唯一的 ...

模糊定位不行 你看截图好多都是一样的下拉菜单
name/test 请说的具体点 谢谢
作者: seagull1985    时间: 2015-7-8 11:44
xiaobao0309 发表于 2015-7-2 14:54
哪个名称?

先把下拉框点开后,可以试下遍历下拉框里面的内容,然后根据你要的名称CLICK,如果你一定要通过查询定位的话,也可以尝试遍历输入框,根据序号去定位
作者: xiaobao0309    时间: 2015-8-27 09:43
seagull1985 发表于 2015-7-8 11:44
先把下拉框点开后,可以试下遍历下拉框里面的内容,然后根据你要的名称CLICK,如果你一定要通过查询定位 ...

下拉框的内容ID也是随机的
作者: Wei测试    时间: 2015-8-31 22:30
可以定位到父节点,然后编列子孙节点,根据子孙节点的属性,进行模糊匹配,就可以找到了。
作者: jia_1509    时间: 2015-9-27 17:17
冒个泡吧
作者: bingbingyan    时间: 2016-5-18 00:04
试试
//input[@class = 'select2-input']
或者 //input[contains(@class,'select2-input')]
作者: bingbingyan    时间: 2016-5-18 00:06
试试
//input[@class = 'select2-input']
或者 //input[contains(@class , 'select2-input')]
作者: bingbingyan    时间: 2016-5-18 00:07
试试
//input[@class = 'select2-input']
或者 //input[contains(@class , 'select2-input')]




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2