def CircularOrder():
driver.find_element_by_link_text("业务开单").click()
time.sleep(3)
driver.find_element_by_xpath("//*[@id='app']/form[1]/div/div[1]/div/div/div/input").send_keys("lwl")
driver.find_element_by_xpath("//*[@id='app']/form[1]/div/div[5]/div/div/div/input").send_keys("15789456789")
driver.find_element_by_css_selector("#my-form>div>fieldset>div>div>button>span").click()
driver.find_element_by_link_text("首页").click()
time.sleep(3)
yield 1
next()
#定义循环
num=0
for num in CircularOrder() :
if num<5:
CircularOrder()
num=num+1
else:
break
刚学python想知道这个循环问题出在哪了,只能循环一遍就很难受,num循环第二遍的时候就返回不上循环了
Python函数中有yield 关键字时,就变成了生成器
生成器可以被for关键字迭代,但是能够迭代多少呢?
这取决于生成器中yield 关键字会执行多少次
在题目的代码中,yield 只执行一次,当然只能循环一次
你可以试着多复制几行yield ,就会发现能循环多次
学习Python可以关注我
在num=num+1后面加一句print(num)以便调试程序,在跑一遍程序,也许你就知道问题在哪里了
for...in...语句需要在可迭代对象里循环,CircularOrder()函数都没有返回值呢,你这个居然能成功循环一次,我也是很费解-_-|||
你的后面不应该是break,应该是continue,break的话就直接推出循环了,不满足条件就退出,所以只执行了一次,有用的话点一下采纳