for i, item in enumerate
Сразу скажу что я новичок в программировании. Вот что я написал. Задача была такова что когда item 1-25 доходит то sell то список начинает срабатывать сначала а если driver.find_elements_by_xpath то список продолжается. А у меня вышло что когда он доходит то item (предположим 5) и делает sell, после он продолжает список с item 6. Подскажите где ошибка? Спасибо заранее.
while True: #Цикл вечного повтора
driver.get(linkinventory)
try:
try:
def click_element(items):
driver.find_element_by_css_selector(items).click()
sleep(1)
if __name__ == "__main__":
items = [
Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9, Item10
, Item11, Item12, Item13, Item14, Item15, Item16, Item17, Item18, Item19, Item20
, Item21, Item22, Item23, Item24, Item25
]
for i, item in enumerate(items, 1):
print(f'{i}: {item}')
#click_element(item)
sleep(1)
if driver.find_elements_by_xpath("//*[contains(text(), 'Наклейка')]"):
pass
else:
Sell()
except NoSuchElementException:
print("123")
except NoSuchElementException:
print("456")
pass
Ответы (1 шт):
Автор решения: Adam Bright
→ Ссылка
Попробуйте вместо if driver.find_elements...: pass; else: Sell() написать так, а так же добавить break
if not driver.find_elements_by_xpath("//*[contains(text(), 'Наклейка')]"):
Sell()
break
Так же, не совсем понимаю ваш код, уровень вложений и if name = main по центру, возможно вы хотели написать так:?
def click_element(items):
driver.find_element_by_css_selector(items).click()
sleep(1)
def main():
driver.get(linkinventory)
try:
try:
items = [
Item1, Item2, Item3, Item4, Item5, Item6, Item7, Item8, Item9, Item10,
Item11, Item12, Item13, Item14, Item15, Item16, Item17, Item18, Item19,
Item20, Item21, Item22, Item23, Item24, Item25,
]
for i, item in enumerate(items, 1):
print(f'{i}: {item}')
# click_element(item)
sleep(1)
if not driver.find_elements_by_xpath("//*[contains(text(), 'Наклейка')]"):
Sell()
break
except NoSuchElementException:
print("123")
except NoSuchElementException:
print("456")
if __name__ == "__main__":
while True:
main()