前几天写自动化脚本的时候,有个地方需要用if……else判断获得的ID和name是哪个,从而决定点击哪个按钮,我用if……else去判断,可是总是提示我找不到对应的元素,
在网上爬了好久,最终终于找到了方法,在这里和大家分享一下,希望对和我遇到同样困惑的童鞋有所帮助。
下面以猎豹清理大师为例,给大家讲一下:
这个是我之前使用if……else的脚本:
if self.dr.find_element_by_name('大师锦囊'):
self.dr.find_element_by_name('大师锦囊').click()
sleep(2)
else:
self.dr.find_element_by_id('com.cleanmaster.mguard_cn:id/af6').click()
self.dr.find_element_by_name('大师锦囊').click()
sleep(2)
提示:dr.find_element_by_name('清理垃圾').click()
以下是我使用try……catch代替if……else的新脚本:
try:
self.dr.find_element_by_id('com.cleanmaster.mguard_cn:id/af6').click()
except Exception as e:
print(Exception, ":", e, '垃圾清理按钮')
self.dr.find_element_name('大师锦囊').click()
else:
sleep(15)
self.dr.find_element_by_name('大师锦囊').click()
这样替换之后就不会再出现提示找不到dr.find_element_by_name('清理垃圾').click()
另附上try……catch的用法:
try:
正常的操作
......................
except:
发生异常,执行这块代码
......................
else:
如果没有异常执行这块代码