我想在序列和非随机中导入和插入单词,每次注册尝试都使用单个用户名并停止,直到注册完成。然后注销,如果注册失败,则使用列表中的下一个用户名开始新注册,如果注册成功,则跳过。
我真的很困惑,因为我不知道。我已经尝试过这个代码,但它是随机选择的,我不知道如何使用“for循环”
import random
Copy = driver.find_element_by_xpath('XPATH')
Copy.click()
names = [
"Noah" ,"Liam" ,"William" ,"Anthony"
]
idx = random.randint(0, len(names) - 1)
print(f"Picked name: {names[idx]}")
Copy.send_keys(names[idx])
我怎样才能让它按顺序选择下一个单词并且不是随机的
请帮忙
idx = random.randint(0, len(names) - 1)
很简单,您想要“按顺序而不是随机地下一个单词”:https://docs.python.org/3/tutorial/datastructs.html#more-on-lists
pop() 方法,返回并从列表中删除一些元素。我们想要第一个,所以我们将提供 0 作为 pop 方法的参数。 我们修改该行,使其看起来像这样
name = names.pop(0)
现在您仍然希望使用 for 循环来循环所有操作(包括名称选择),以便将所有代码封装在 for 循环中:
names = [
"Noah" ,"Liam" ,"William" ,"Anthony"
]
for i in range(len(names)):
# ...
Copy = driver.find_element_by_xpath('XPATH')
Copy.click()
name = names.pop(0)
print(f"Picked name: {name}")
Copy.send_keys(name)
# ...
您可能会注意到,名称列表不是
位于 for 循环内。这是因为我们不想每次尝试使用新名称时都重新分配列表。 如果您完全不确定 for 循环如何工作或如何自己实现循环,您可能应该首先阅读它们的工作原理。
https://docs.python.org/3/tutorial/controlflow.html?highlight=loop#for-statements# ...
注释,指示问题的其他部分的逻辑可能会在哪里:
“然后注销并使用列表中的下一个用户名开始新注册,如果注册注册失败,注册成功则跳过。”