51Testing软件测试论坛

标题: 【求助】底下这段代码为什么运行了始终点击不了这个元素。 [打印本页]

作者: 鹿小诞    时间: 2017-4-20 11:38
标题: 【求助】底下这段代码为什么运行了始终点击不了这个元素。
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 求问下这是为什么。
作者: 一抹红尘    时间: 2017-4-20 12:37
1.requirebill和 Flag=1没有关联啊,写python的函数def,把他们关联起来
2.定位不到元素,是你的xpath的路径有错,可以用IDE录制一下
作者: jingzizx    时间: 2017-4-20 13:14

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

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

作者: puchonghui    时间: 2017-4-20 13:30
try后面三句话会被顺序执行,执行完以后flag当然等于1。。。

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


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




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