为了账号安全,请及时绑定邮箱和手机立即绑定

仅在 Python Selenium 中的 for 循环末尾引发异常

仅在 Python Selenium 中的 for 循环末尾引发异常

开满天机 2023-09-26 14:53:16
我有这样的代码:elements = driver.find_elements(By.CSS_SELECTOR, ".names.pages")for element in elements in range(len(elements)):    elements[element].click()    id_page = driver.find_element(By.CSS_SELECTOR, ".id.page")    try:        name = driver.find_element(By.CSS_SELECTOR, ".name")        if name == "John":            print("ID: " + id_page + " - " + name + " is correct name")        else:            print("ID: " + id_page + " - " + name + "is wrong name")    except:        print("Can't find the person")        continue输出是这样的,但列表更长:ID: 5487 - John is correct nameID: 3553 - John is correct nameID: 7679 - John is correct nameID: 7677 - Sara is wrong nameID: 3456 - John is correct nameID: 7990 - Michael is wrong nameID: 5654 - John is correct nameID: 1111 - Craig is wrong nameID: 3456 - David is wrong nameID: 9876 - John is correct name循环结束后是否可以检查输出列表中是否有人姓名错误,并引发异常并仅打印错误的 ID 和/或姓名。例如,如果所有姓名都正确或找不到任何人来完成并打印成功消息。
查看完整描述

1 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

在其自己的列表中跟踪“错误名称”,然后检查该列表末尾是否包含某些内容。伪代码:


errors = []


for element in ...:

    if name_is_wrong:

        errors.append(id_page)


if errors:

    raise YourException("Wrong ids: %s" % ", ".join(errors))

else:

    print("Success")


查看完整回答
反对 回复 2023-09-26
  • 1 回答
  • 0 关注
  • 87 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信