Это сообщение об ошибке ...
selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element {"method":"link text","selector":"Cart"}
... означает, что ChromeDriver не смог найти нужный элемент в соответствии со строкой:
GotoCart = browser.find_element_by_link_text("Cart").click()
Решение
Вам нужно заставить WebDriverWait , чтобы требуемый элемент был активным для клика , и вы можете использовать любое из следующих решений:
Использование LINK_TEXT
:
WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.LINK_TEXT, "Cart"))).click()
Использование CSS_SELECTOR
:
WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "section#header a.cart-heading[href='/cart']"))).click()
Использование XPATH
:
WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.XPATH, "//section[@id='header']//a[@class='cart-heading' and @href='/cart']"))).click()
Примечание : необходимо добавить следующий импорт:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
PS: подробное обсуждение можно найти в Selenium «selenium.common.exceptions.NoSuchElementException» при использовании Chrome