【发布时间】:2018-07-05 16:52:58
【问题描述】:
正在开发一个程序来自动化我使用 Selenium 与浏览器交互的一些日常功能。
我的脚本在一个电子邮件帐户上完全按照我的意愿工作,但是我有几个我想自动化。我希望它能够选择一封电子邮件,完成整个代码,循环回到开头,然后从头继续,但我的下一个帐户在变量中。
例如,我的登录数据是这样存储的:
emails=('email1@email.com',
'email2@email.com',
'email3@email.com',
)
myPassword=('passwordtext')
并在登录过程中以这种方式调用,仅供参考:
for email in emails:
emailid=driver.find_element_by_name('email')
emailid.send_keys('email') # this is the variable that would need to change each time
password=driver.find_element_by_name('password')
password.click()
password.send_keys(myPassword)
password.send_keys(Keys.ENTER)
# then, several more work functions are completed using Selenium
显然,这不起作用,并导致变量中的所有电子邮件地址都被循环访问,并且然后代码继续。我想要的是选择一个电子邮件地址,执行程序的其余部分,然后循环回到开头并继续变量中的下一个电子邮件地址。
我很确定解决方案是这里的嵌套循环,这是一个非常基本的问题,但我不知道如何设置它。同样,程序的其余部分运行良好,我只是想找出一种方法来循环通过程序,仅更改登录信息,直到变量结束。我希望这是有道理的。
【问题讨论】:
-
为什么不把剩下的代码放在你的循环里,缩进4个空格就行了。
-
哇,刚刚试了一下,结果完全符合我的期望。我有一种感觉,这是一个简单的解决方案。谢谢!
标签: python loops selenium nested iteration