51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4633|回复: 9
打印 上一主题 下一主题

诚邀joykao回答,如何用selenium webdriver+java实现左侧树状结构的通用函数

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2015-6-29 22:42:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 amo666 于 2015-6-29 22:46 编辑

诚邀joykao回答,如何用selenium webdriver+java实现左侧树状结构的通用函数,期望能实现选中最底层的子节点。能把该函数做成对象库。非常感谢!

本帖子中包含更多资源

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

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

使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    2#
    发表于 2015-6-30 16:56:35 | 只看该作者
    这里说个思路哈,你可以一层层定位的,先定位到外面的文件夹层,然后再定位到最底层的节点,这个相信你也知道
    如:
    (driver.findElement(By.cssSelector("div.head_wrapper"))).findElement(By.linkText("新闻")).click();
    把上面的方法封装下就可以了,通过每次传不同的selector值就可以做到了吧,把这个找元素的方法抽象出来以后所有类似的模块应该都是可以用的,把层级加进去就可以了,对象库么主要还是用来存储对象,你可以封装不同识别元素的方法,把这些方法当做lib来用

    评分

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

    查看全部评分

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    3#
    发表于 2015-6-30 16:56:39 | 只看该作者
    这里说个思路哈,你可以一层层定位的,先定位到外面的文件夹层,然后再定位到最底层的节点,这个相信你也知道
    如:
    (driver.findElement(By.cssSelector("div.head_wrapper"))).findElement(By.linkText("新闻")).click();
    把上面的方法封装下就可以了,通过每次传不同的selector值就可以做到了吧,把这个找元素的方法抽象出来以后所有类似的模块应该都是可以用的,把层级加进去就可以了,对象库么主要还是用来存储对象,你可以封装不同识别元素的方法,把这些方法当做lib来用
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2015-6-30 21:42:39 | 只看该作者
    joykao 发表于 2015-6-30 16:56
    这里说个思路哈,你可以一层层定位的,先定位到外面的文件夹层,然后再定位到最底层的节点,这个相信你也知 ...

    这是通过css定位吗?我很小白哈。
    谢谢版主,很喜欢你!自从看了你那期的专家做客之后,觉得你最棒了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2020-12-8 11:20
  • 签到天数: 605 天

    连续签到: 1 天

    [LV.9]测试副司令

    5#
    发表于 2015-7-6 13:36:30 | 只看该作者
    amo666 发表于 2015-6-30 21:42
    这是通过css定位吗?我很小白哈。
    谢谢版主,很喜欢你!自从看了你那期的专家做客之后,觉得你最棒了。

    我只是举个例子,当然你可以用任何方便的找元素的方法
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-7-1 15:17
  • 签到天数: 16 天

    连续签到: 2 天

    [LV.4]测试营长

    6#
    发表于 2016-5-27 14:04:05 | 只看该作者
    似乎有点懂了 多谢楼主
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-7-1 15:17
  • 签到天数: 16 天

    连续签到: 2 天

    [LV.4]测试营长

    7#
    发表于 2016-5-27 14:04:21 | 只看该作者
    似乎有点懂了 多谢楼主
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-7-1 15:17
  • 签到天数: 16 天

    连续签到: 2 天

    [LV.4]测试营长

    8#
    发表于 2016-5-27 14:17:28 | 只看该作者
    我刚试了下,发现我的问题和楼主的不一样,希望 joykao 也给个思路,如图片1,我这个树结构因为是自己建的树结构,所以目录是变化的,位置也不是固定的。目前可以通过  driver.find_element_by_xpath("//*[@class='tree-title' and text()='jiaozhumingcheng4403']").click() 选中jiaozhumingcheng4403结点,但我想要点击的是下面的设计模型,不知道该如何实现。还有就是看图片2,jiaozhumingcheng4403结点和设计模型结点,不是父子关系,两者是平级的。求大神指点如何能定位到设计模型

    本帖子中包含更多资源

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

    x
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2016-6-2 13:10:05 | 只看该作者
    hustar0102 发表于 2016-5-27 14:17
    我刚试了下,发现我的问题和楼主的不一样,希望 joykao 也给个思路,如图片1,我这个树结构因为是自己建的 ...

    你这个问题很简单啊。每一个节点都是一个class为tree node的div,找到父亲div,下一个兄弟UL就是此节点的子树,以此类推,很简单的一个逻辑
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2019-9-5 14:21:12 | 只看该作者
    遇到与楼主类似的问题:我需要定位树结构最底层的子节点,然后利用鼠标悬停选中,但是问题是,我如何根据传入的值,展开对象的节点,然后去定位最底层的节点,有什么办法能一次展开所有的节点吗?
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-22 14:29 , Processed in 0.070823 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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