Если вы столкнулись с проблемой заказа на указанном сайте, пожалуйста, убедитесь, что сайт не ведет себя по-разному, пока вы оформляете заказ с одинаковыми данными вручную.
Пока я пробовал оформить заказ гостяна том же сайте я столкнулся с ошибкой тайм-аута подключения в следующем API
POST https://www.converse.ca/braintree/checkout/quoteTotal/ net :: ERR_CONNECTION_TIMED_OUT
, что привело к тому, что счетчик продолжает вращаться.
Если есть проблема, связанная с конкретным элементом, вы можете справиться с этим.Лучший вариант использования для размещения заказа:
Пока он попадает в секцию Order Review
, вы должны использовать явное условие ожидания, готово ли место или кнопка.см. ниже код
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "button[title='Place Order']")).click()
А затем подождите, пока спиннер не уйдет, чтобы убедиться, что заказ выполнен.
WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.ID, "review-please-wait"))
ПРИМЕЧАНИЕ: Убедитесь, что время ожиданиядостаточно для каждого раздела, пока информация не будет загружена, потому что в то время, когда вы выбираете какую-либо опцию, происходит вызов API.Так что это может вызвать сбой вашего скрипта, потому что ваш скрипт в порядке, но система не готова.