开发者社区> 问答> 正文

执行“尝试...除外...”的功能

我想将“ try ... except ...”放入函数中,以使我的代码更短,因为它被多次使用。

使这项工作:

def whiletry(x):
    while 1:
        try:
            x
            break
        except:
            time.sleep(0.25)

whiletry(driver.find_element_by_xpath('//\*@id="j_list_card"]/ul/li/h3/a').click())

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 20:26:18 572 0
1 条回答
写回答
取消 提交回答
  • def whiletry(func):
        while 1:
            try:
                return func()
            except:
                time.sleep(0.25)
    
    def click():
        driver.find_element_by_xpath('//\*@id="j_list_card"]/ul/li/h3/a').click()
    
    whiletry(click)
    

    用法也可以等效地写为:

    whiletry(lambda: driver.find_element_by_xpath('//\*@id="j_list_card"]/ul/li/h3/a').click())
    

    注意lambda

    回答来源:stackoverflow

    2020-03-24 20:26:24
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
fibjs 模块重构从回调到协程--陈垒 立即下载
JS 语言在引擎级别的执行过程 立即下载
fibjs 模块重构从回调到协程 立即下载