我有多种颜色。我希望程序“绘制”页面,移至下一页,“绘制”另一页面,数组中的下一个颜色,重复10次。
但是,下面的代码似乎存在错误。我的代码将遍历同一页面上的颜色,而无需转到/移至下一页。因此,我最终得到了几页相同的颜色。
for x in range(10):
for i in colors:
turnPage()
paint(i)
What the program will do is
Blue
Red
Green
turnPage()
#page ends up green
Blue
Red
Green
TurnPage()
#page ends up green
But I want the output to be
Blue
turnPage()
Red
turnPage()
Green
turnPage()
编辑:编辑并在下面添加完整的代码,以供参考/说明。
colors = ['ff5733', '5271FF', 'CB6CE6']
#Starting with 2, page 1 was unique and was painted before the loop
for x in (number+2 for number in range(5)):
for i in colors:
#Using selenium to move to next page
element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, """//*[@id="root"]/div/div/main/section[3]/div[1]/div/section/div[1]/div[1]/div[2]/div/div/div/div[1]/div[2]/div[%s]/div/div[2]/div/div/div/div[1]/div/div""" % x)))
action = ActionChains(driver)
action.move_to_element_with_offset(element, 10, 10).click().perform()
element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, """//*[@id="__id17"]/div/div/div[1]/div[2]/div/div/div/button"""))).click()
#Using selenium to change page color, i
element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, """/html/body/div[1]/div/div/div/div/div/div/div[3]/input"""))).send_keys(i)
您需要为此使用生成器:
def turnpage():
print("turned")
def generator(colors):
while True:
for color in colors:
yield color
colors = ["green","red","blue"]
gen = generator(colors)
for page_number in range(10):
print(next(gen))
turnpage()
输出:
green
turned
red
turned
blue
turned
green
turned
red
turned
blue
turned
green
turned
red
turned
blue
turned
green
turned
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句