51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2396|回复: 0
打印 上一主题 下一主题

[python] python+splinter如何定位动态ID的按钮

[复制链接]
  • TA的每日心情
    开心
    2018-4-22 12:50
  • 签到天数: 393 天

    连续签到: 1 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2018-3-5 14:21:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    <button id="vbase_login_loginVBASE_JGButton1_8a819ea061eacc110161f4c00f666f0a" widgetcode="JGButton1" type="button" class="btn btn-primary btn-lg btn-block " style="text-align:Center">登录</button>
    如上标签,ID的值后面是动态生成的,每次都不一样
    试了方法一:
    btn=bs.find_by_text('登录')
    btn[0].click
    btn[1].click

    按上面的写法,不会点击,print(btn),如下:
    [<splinter.driver.webdriver.WebDriverElement object at 0x000000000E941FD0>, <splinter.driver.webdriver.WebDriverElement object at 0x000000000E941EF0>]

    试了方法二:
    bs.find_by_xpath("//*[starts-with(@id, 'vbase_login_loginVBASE_JGButton1')]")[1].click
    报这个错:
    no elements could be found with xpath "//*[starts-with(@id, 'vbase_login_loginVBASE_JGButton1')]"

    请问大神,还有什么办法?

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

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-15 13:56 , Processed in 0.060118 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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