51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1507|回复: 4
打印 上一主题 下一主题

【求助】底下这段代码为什么运行了始终点击不了这个元素。

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2017-4-20 11:38:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Flag=0
while Flag==0:
    try:
        requirebill = driver.find_element_by_xpath("/html/body/div/div/div[2]/div[3]/div/a[2]/div/div/h3")
        requirebill.click()
        Flag=1

    except:
        Flag=0

因为页面加载比较慢,所以代码运行了,定位不到元素,所以我想不停的判断元素是否存在来定位到这个元素后,在去点击这个元素,可是为什么运行了之后 ,代码都运行完了,这个元素也没有被点击。我打印出来的flag也是=1 求问下这是为什么。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    开心
    2017-8-14 12:25
  • 签到天数: 66 天

    连续签到: 1 天

    [LV.6]测试旅长

    2#
    发表于 2017-4-20 12:37:58 | 只看该作者
    1.requirebill和 Flag=1没有关联啊,写python的函数def,把他们关联起来
    2.定位不到元素,是你的xpath的路径有错,可以用IDE录制一下

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10 赶快去商城换取奖.

    查看全部评分

    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
     楼主| 发表于 2017-4-20 13:26:43 | 只看该作者
    一抹红尘 发表于 2017-4-20 12:37
    1.requirebill和 Flag=1没有关联啊,写python的函数def,把他们关联起来
    2.定位不到元素,是你的xpath的路 ...

    这个 定位不到元素的时候不是就应该停止运行flag=1 去运行except里面的吗?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2020-8-11 08:18
  • 签到天数: 114 天

    连续签到: 1 天

    [LV.6]测试旅长

    5#
    发表于 2017-4-20 13:30:33 | 只看该作者
    try后面三句话会被顺序执行,执行完以后flag当然等于1。。。

    按你的逻辑,要对寻找元素的结果加一层判断,如果找到则click,并且flag置1。。。这样没找到才会继续循环。。。


    不过我要说,这是个不好的设计,前台可能会被死锁。。。

    评分

    参与人数 1测试积点 +10 收起 理由
    lsekfe + 10 积极回复获得测试积点10 赶快去商城换取奖.

    查看全部评分

    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

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

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

    GMT+8, 2024-11-26 16:42 , Processed in 0.069797 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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