我有这样的代码: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")
添加回答
举报
0/150
提交
取消