51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 6586|回复: 18
打印 上一主题 下一主题

selenium 如何测试动态变化的xpath和ID

[复制链接]
  • TA的每日心情
    难过
    2015-7-2 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    跳转到指定楼层
    1#
    发表于 2015-7-1 16:20:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 xiaobao0309 于 2015-7-2 15:03 编辑

    firebug查到每次打开页面时,xpath和id都会动态变化。导致定位不了。
    第一次打开id:

    第二次打开id:


    我想定位的是红框的那个位置,往里边send_keys(u"天津"),不是定位那个请选择省份,选择省份用text就可以。

    xpath和id是动态变化的。

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2024-5-6 17:37
  • 签到天数: 1137 天

    连续签到: 1 天

    [LV.10]测试总司令

    推荐
    发表于 2015-7-2 09:58:41 | 只看该作者
    qu取下面的属性值 别定位会变化的试试看  name / text
    或者你用模糊定位方式 contain %s2id % 抓取唯一的固定字符

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 恭喜你获得测试积点10

    查看全部评分

    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-27 15:56
  • 签到天数: 322 天

    连续签到: 1 天

    [LV.8]测试军长

    2#
    发表于 2015-7-2 09:33:19 | 只看该作者
    可以通过名称啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 07:28
  • 签到天数: 2812 天

    连续签到: 5 天

    [LV.Master]测试大本营

    4#
    发表于 2015-7-2 12:28:21 | 只看该作者
    selenium定位元素的方式有很多种,比如cssSelector/classname/tagname等等,可以换一种方式定位元素未变的属性;
    http://www.51testing.com/html/43/n-852143-2.html
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2015-7-2 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    5#
     楼主| 发表于 2015-7-2 14:54:39 | 只看该作者

    哪个名称?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2015-7-2 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    6#
     楼主| 发表于 2015-7-2 14:56:41 | 只看该作者
    土土的豆豆 发表于 2015-7-2 09:58
    qu取下面的属性值 别定位会变化的试试看  name / text
    或者你用模糊定位方式 contain %s2id % 抓取唯一的 ...

    模糊定位不行 你看截图好多都是一样的下拉菜单
    name/test 请说的具体点 谢谢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2018-8-27 15:56
  • 签到天数: 322 天

    连续签到: 1 天

    [LV.8]测试军长

    7#
    发表于 2015-7-8 11:44:50 | 只看该作者

    先把下拉框点开后,可以试下遍历下拉框里面的内容,然后根据你要的名称CLICK,如果你一定要通过查询定位的话,也可以尝试遍历输入框,根据序号去定位
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    难过
    2015-7-2 15:22
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    8#
     楼主| 发表于 2015-8-27 09:43:52 | 只看该作者
    seagull1985 发表于 2015-7-8 11:44
    先把下拉框点开后,可以试下遍历下拉框里面的内容,然后根据你要的名称CLICK,如果你一定要通过查询定位 ...

    下拉框的内容ID也是随机的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-12-15 22:47
  • 签到天数: 111 天

    连续签到: 1 天

    [LV.6]测试旅长

    9#
    发表于 2015-8-31 22:30:42 | 只看该作者
    可以定位到父节点,然后编列子孙节点,根据子孙节点的属性,进行模糊匹配,就可以找到了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2016-5-18 00:04:34 | 只看该作者
    试试
    //input[@class = 'select2-input']
    或者 //input[contains(@class,'select2-input')]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2016-5-18 00:06:00 | 只看该作者
    试试
    //input[@class = 'select2-input']
    或者 //input[contains(@class , 'select2-input')]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    13#
    发表于 2016-5-18 00:07:16 | 只看该作者
    试试
    //input[@class = 'select2-input']
    或者 //input[contains(@class , 'select2-input')]
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-17 04:54 , Processed in 0.074365 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表