I'm trying to check a checkbox via selenium in Chrome using python3. This is the HTML code:
<header class="list-header">
<aside class="list-header-bulk-selection">
<input type="checkbox" class="sc-cSHVUG iAwiCZ">
::after
I'm trying to check the box by:
check_mark = driver.find_element_by_xpath("//input[@class='sc-cSHVUG iAwiCZ']")
check_mark.click()
I am able to find the location, but unfortunately I get the following error message:
ElementNotInteractableException: Message: element not interactable
(Session info: chrome=75.0.3770.142)
I think I have to access the ::after
line, but I have no clue how I should do this.
Try following options to click on checkbox.
Option1:
location_once_scrolled_into_view
check_mark = driver.find_element_by_xpath("//input[@class='sc-cSHVUG iAwiCZ']")
check_mark.location_once_scrolled_into_view
check_mark.click()
Option2:
WebDriverWait and element_to_be_clickable
check_mark =WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH,"//input[@class='sc-cSHVUG iAwiCZ']")))
check_mark.click()
Option3:
Java Scripts Executor
check_mark =WebDriverWait(driver,20).until(EC.element_to_be_clickable((By.XPATH,"//input[@class='sc-cSHVUG iAwiCZ']")))
driver.execute_script("arguments[0].click();", check_mark)
You need to import followings to execute above code.
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC