I am trying to scrape a product from a page and it throws me the following error. Apparently when doing the first click () the element is updated. Basically what I do is iterate for each color and size item, but the problem arises in color.click ()
.
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.chrome.options import Options
browser = webdriver.Chrome()
browser.maximize_window()
browser.get('https://www.shein.com/Ruffle-Detail-Embroidered-Eyelet-Peplum-Top-p-665095-cat-1733.html')
browser.execute_script('document.querySelector("body > div.welcome-privacy.j-welcome-privacy > div > div.c-modal-wrap.welocme-modal > div.c-modal > div > div > div.modal-body > div > div > button").click()')
WebDriverWait(browser, 15).until(EC.visibility_of_element_located((By.CLASS_NAME, "opt-color")))
colorsForLoop = browser.find_elements_by_class_name('opt-color')
sizesForLoop = browser.find_elements_by_class_name('opt-size')
for color in colorsForLoop:
browser.implicitly_wait(10)
color.click()
for size in sizesForLoop:
size.click()
Error :
---> 17 color.click()
ElementClickInterceptedException: Message: element click intercepted: Element < div class="opt-color" >...< /div > is not clickable at point (1078, 381). Other element would receive the click: ...
Any help is welcome, thanks