Python Forum
Clicking on element not triggering event in Selenium Python (Event Key is not in data - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: Web Scraping & Web Development (https://python-forum.io/forum-13.html)
+--- Thread: Clicking on element not triggering event in Selenium Python (Event Key is not in data (/thread-24445.html)



Clicking on element not triggering event in Selenium Python (Event Key is not in data - dkaeloredo - Feb-14-2020

I have a problem of whenever i want to click on an button element it does not trigger the event. In my case I am trying to add an item to the cart. A size needs to be clicked first before clicking the add to cart button. I am using chrome headless browser as well as the webdriver.


 from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.keys import Keys
import os

chrome_options = Options()
chrome_options.add_argument("--headless")
chrome_options.binary_location = (r"C:\Users\dkael\AppData\Local\Google\Chrome SxS\Application\chrome.exe")

driver = webdriver.Chrome(executable_path=os.path.abspath("chromedriver"),   chrome_options=chrome_options)
driver.get("https://www.nike.com/sg/launch/t/react-presto-undercover-white/")
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH,"//button[contains(text(),'US 10.5')]"))).click()
WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, "//div[contains(@class,'buying-tools-container')]//li[contains(@class,'selected')]")))
element = driver.find_element_by_xpath("//button[@class='ncss-brand ncss-btn-black pb3-sm prl5-sm pt3-sm u-uppercase u-full-width']")
element.send_keys(Keys.ENTER)
driver.save_screenshot("test.png")

print("success")

driver.quit() 
I have tried this as well
 WebDriverWait(driver, 20).until(EC.element_located_to_be_selected((By.XPATH,"//button[@class='ncss-brand ncss-btn-black pb3-sm prl5-sm pt3-sm u-uppercase u-full-width']"))).click() 
I believe the problem is here
"*PROJECT_CONFIG: Event key add-to-cart-clicked is not in datafile.", source: https://c.go-mpulse.net/boomerang/R6SH7-84RFL-GQQ8S-CW6MF-W5RWR*"

Here is the HTML of the button i am trying to click.
https://i.stack.imgur.com/qyXUB.png

Appreciate any input on this matter. Thanks in advance.


RE: Clicking on element not triggering event in Selenium Python (Event Key is not in data - Larz60+ - Feb-15-2020

this is the xpath that I get: /html/body/div[2]/div/div/div[1]/div/div[3]/div[2]/section[1]/div[2]/aside/div/div[2]/div/div[2]/ul/li[12]/button


RE: Clicking on element not triggering event in Selenium Python (Event Key is not in data - dkaeloredo - Feb-16-2020

I solved it. thanks for the reply.
The problem was putting implicit waits before elements to let the page load.